第3章 結構之法 字串移位包含的問題

2022-07-04 12:42:14 字數 1276 閱讀 8969

具體**如下:

1

package

chapter3jiegouzhifa.questionofstringmove;

2/**

3* 字串移位包含的問題

4* 【解法一】5*

@author

dell6*

7*/8public

class

stringmove

25 src[n-1] =temp;

2627

//判斷是否包含

28if

(sb.tostring().contains(des))

29return

true;30

}31return

false;32

}33public

static

void

main(string args)

4142 }

程式執行結果如下:

可以通過迴圈移位得到!

這種解法存在乙個bug:s1="a", s2="aa". 解決辦法:先比較一下長度。

具體**如下:

1

package

chapter3jiegouzhifa.questionofstringmove;

2/**

3* 字串移位包含的問題

4* 【解法二】5*

@author

dell6*

7*/8public

class

stringmove2

27public

static

void

main(string args)

3536 }

程式執行結果如下:

可以通過迴圈移位得到!
第二種方法利用了「提高空間複雜度來換取時間複雜度的降低」的思路,適用於對時間複雜度要求高的場合。

第3章 結構之法 字串移位包含的問題

具體 如下 1 package chapter3jiegouzhifa.questionofstringmove 2 3 字串移位包含的問題 4 解法一 5 author dell6 7 8public class stringmove 25 src n 1 temp 2627 判斷是否包含 28i...

字串移位包含

給定兩個字串s1和s2 要求判定s2是否能夠被通過s1作迴圈移位 得到的字串包含 假設給定s1 aabcd s2 cdaa 返回true 給定s1 abcd s2 acbd false 方法1 窮舉法 將長度為n的s1移動n次 每次移動1為 檢視是否包含s2 方法2 將長度為n的s1移動n次 保留每...

字串移位包含問題

問題描述 給定兩個字串s1和s2,要求判定s2是否能夠被s1做迴圈移動得到的字串包含。如s1 aabcd和s2 cdaa,則s1迴圈移動後包含s2,返回true s1 abcd和s2 acbd,則s1迴圈移動後不包含s2,返回false 解題思路 1 可以發現,s1迴圈移動後的結果肯定包含在字串s1...