随笔分类 - C/C++
编程之美——3.1字符串移位包含问题
摘要:假设字符串s1=AABCD,s2=CDAA,判断s2是否可以通过S1的循环移位得到字符串包含。如 s1移两位: 1.ABCDA->2.BCDAA 则此时包含了 S2="CDAA"解题思路:分解s1的循环移位得到:AABCD,ABCDA,BCDAA,CDAAB,.....如果我们将前面移走的字符串保留下来,则有:AABCD,AABCDA,AABCDAA,AABCDAAB,AABCDAABC,AABCDAABCD这里,我们可以发现,实际对s1的循环移位得到的字符串实际为s1s1。那么我们判断s2是否可以通过s1循环移位得到包含,则只需要判断s1s1中是否含有s2即可以。用
阅读全文
浙公网安备 33010602011771号