題目:
給定乙個長字串a,和乙個短字串b,如何最快的判斷出短字串b中的所有字元是否都在長字串a中?
方法一:暴力輪詢。
方法二:先排序後再輪詢。
**:
#include using namespace std;
bool stringcontain(string &a,string &b)
//判出,pa越界 或 找到了後面的大於a[pa]的值,證明不滿足條件
if((pa >= a.length()) || (a[pa] > a[pb]))
++pb;
} return true;
}int main();
int pro=1;//a的素數的積
for(int i=0;i方法四:位運演算法
更簡單的方法是將a中的字元放入雜湊表中,然後再輪詢比較b中的字元,這裡可以用位運算為a算出乙個 定值
然後再將b中的字元逐一放到a中去查詢。
#include using namespace std;
//實質是用乙個整數代替了雜湊表
bool stringcontain3(string &a,string &b)
for(int i=0;i} return true;
}int main()else
return 0;
}
字串包含
問題 給定兩個分別由字母組成的字串a和字串b,字串b的長度比字串a短。請問,如何最快地判斷字串b中所有字母是否都在字串a裡?為了簡單起見,我們規定輸入的字串只包含大寫英文本母,請實現函式bool stringcontains string a,string b 比如,如果是下面兩個字串 string...
字串包含
給定乙個長字串a和乙個短字串b,請問,如何最快地判斷出短字串b中的所有字元是否都在長字串a中?輪詢短字串b中的每乙個字元,逐個與長字串a中的每個字元比較,看是否都在字串a中。實現 public class stringcontain return true public static void ma...
字串包含
題目描述 給定兩個分別由字母組成的字串a和字串b,字串b的長度比字串a短。請問,如何最快地判斷字串b中所有字母是否都在字串a裡?實現函式bool stringcontains string a,string b 比如,如果是下面兩個字串 string 1 abcd string 2 bad 答案是t...