[Nowcoder] 寻找子串
生活随笔
收集整理的這篇文章主要介紹了
[Nowcoder] 寻找子串
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
給出一個非空的字符串,判斷這個字符串是否是由它的一個子串進行多次首尾拼接構成的。 例如,"abcabcabc"滿足條件,因為它是由"abc"首尾拼接而成的,而"abcab"則不滿足條件。 要求:求最長的拼接子串 思路:從原字符串的1/2處開始截取,判斷截取的字符串可否構成原字符串。然后再從1/3出截取判斷,直到截取字符串長度為1,在這個過程中,如果存在符合條件的子串,那么它一定是最長子串,挑出循環(huán)輸出即可。如果所有循環(huán)結束都沒有找出符合條件的子串,那么輸出false #include <iostream>
#include <string>
using namespace std;int main()
{string str;while (cin >> str){int n = str.size();bool isOk = false;for (int i = n/2; i >= 1; --i){string tmp = str.substr(0, i);string res;for (int j = 0; j < n / i; ++j)res += tmp;if (res == str){cout << tmp << endl;isOk = true;break;}}if (!isOk)cout << "false" << endl;}return 0;
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/immjc/p/9455657.html
總結
以上是生活随笔為你收集整理的[Nowcoder] 寻找子串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python yield 用法
- 下一篇: HDU 1297 Children’s