描述:給定兩個字串s1,s2,要求判斷s2是否能夠被s1座迴圈移位得到的字串。例如給定字串s1=aabcd,s2=cdab,返回true
解法1:從題目中可以看出,我們可以使用最直接的方法對s1進行迴圈移位,再進行字串的包含操作,從而遍歷其所有的可能性。
具體實現**如下:
public class rotatearray ;
char des = new char;
int len = src.length;
for(int i=0;ichar tempchar = src[0];
for(int j = 0;jsrc[j] = src[j+1];
}src[len-1] = tempchar;
system.out.println(string.valueof(src));
if(string.valueof(src).contains(string.valueof(des)))
}system.out.println("false");}}
如上,窮舉s1座迴圈移位所得到的所有的字串,看其結構是否包含s2,如果字串的長度足夠大,則程式的效率很低
字串包含問題
字串包含問題 判斷小字串的所有字元是否大字串都有 思路一 針對小字串的每乙個字元一一與大字串的字元輪詢比較即可,很明顯時間複雜度為o n m bool compare string s1,string s2 if j s2.length return true 思路二 對兩個字串分別排序,同時依次輪...
字串包含問題
假設這有乙個各種字母組成的字串a,和另外乙個字串b,字串裡b的字母數相對少一些。什麼方法能最快的查出所有小字串b裡的字母在大字串a裡都有?比如,如果是下面兩個字串 string 1 abcdefghlmnopqrs string 2 dcgsrqpo 答案是true,所有在string2裡的字母st...
字串包含問題
兩個字串s1和s2,假設s1長度大於等於s2長度,判斷s2是否為s1的乙個子集。例如 s1 abcdefghi,s2 acefg,由於s2中的每個元素都出現在s1中,說明s1包含s2.若s2 acefgk,由於k不在s1中,因此s1不包含s2。設s1長度為m,s2長度為n 方法1 brute for...