很简单,但是要快,15min做出来无漏洞代码。很可惜我没做到。
题一:求最长连续递增子序列,例如:1345256783,输出:25678
题二:求最长的连1或连0,例如:1110000111110,输出:11111
题三:没看到
题四:求最长连续加一子序列,例如:12345345456,输出:12345
代码如下:
#include<iostream>
using namespace std;
int main()
{
char a[500];
cin>>a;
int len=strlen(a);
int count=0;
int maxcnt=0,maxidx=0;
int i=0;
for(;i<len;++i)
{
if(i==0)
{
count=1;
}else
{
if(a[i]==a[i-1]) //不同的题目只需要改此行的条件
{
count++;
}else{
count=1;
}
}
if(count>maxcnt)
{
maxcnt=count;
maxidx=i-count+1;
}
}
for(int i=maxidx;i<maxidx+maxcnt;++i)
cout<<a[i];
return 0;
}