NC207429. 最大值
描述
输入描述
输入数据第一行是t,表示数据的组数,接下来每组数据输入一个字符串s
(t<=10,s<=1e5)
输出描述
输出最大长度
示例1
输入:
2 aaaaa abacc
输出:
4 1
说明:
aaaab的ac串是aaa(2:4)C++ 解法, 执行用时: 732ms, 内存消耗: 592K, 提交时间: 2022-05-10 19:08:00
#include<bits/stdc++.h> using namespace std; int main(){ int T; cin>>T; while(T--){ string a; cin>>a; string c=a; c.erase(0,1); //cout<<c<<endl; for(int i=a.size()-1;i>=1;i--){ string b=a.substr(0,i); //cout<<b<<endl; if(c.find(b)!=-1){ cout<<i<<endl; break; } } } }
C++14(g++5.4) 解法, 执行用时: 10ms, 内存消耗: 484K, 提交时间: 2020-05-31 17:21:59
#include<bits/stdc++.h> using namespace std; int t; string s; int main() { for(cin >> t; t--; ) { cin >> s; int ans = 0; for(int i = 1, j; i < s.size()-1; i++) { for(j = 0; s[j] == s[i+j]; j++); ans = max(ans, j); } cout << ans << endl; } }
Python3(3.5.2) 解法, 执行用时: 31ms, 内存消耗: 3704K, 提交时间: 2020-05-31 20:25:06
i = int(input()) while i>0: i-=1 x = input() for j in range(1,len(x)+1): if x.find(x[0:j],1,len(x))==-1 or j==len(x): print(j-1) break