具體**如下:
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...