#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
class Solution {
public:
int longestSubstring(string s, int k)
{
if(k==1)
return s.length();
int count,temp,i,j,m,max=0;
for(i=1;i<s.length();i++)
{
if(s[i]!=s[i-1])
break;
}
if(i==s.length())
return s.length()>k?s.length():0;
for(i=0;i<s.length();i++)
{
for(j=i+k-1;j<s.length();j++)
{
count=0;
temp=1;
string l (s,i,j-i+1);
sort(l.begin(),l.end());
for(m=1;m<l.length();m++)
{
if(l[m]==l[m-1])
temp++;
else
{
if(temp>=k)
{
count+=temp;
temp=1;
}
else
{
count=0;
break;
}
}
}
if(temp>=k)
count+=temp;
else
count=0;
if(count>max)
max=count;
}
if(max>=j-i+1)
break;
}
return max;
}
};
int main()
{
string s;
cin>>s;
int k;
cin>>k;
Solution solve;
cout<<solve.longestSubstring(s,k)<<endl;
return 0;
}
395. Longest Substring with At Least K Repeating Characters
最新推荐文章于 2022-04-29 23:53:41 发布