字串的包含

2021-09-12 18:50:52 字數 699 閱讀 5031

題目:

給定乙個長字串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...