版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guorong520/article/details/81263653
一、题目要求
二、解析
使用左右下标来记录连续数字,使用cur来记录最长连续数字的个数。
三、代码
#include <iostream>
using namespace std;
void print(string str)
{
int i=0;
int left=0; //记录左下标
int right=0; //已记录的最大连续数字的个数
int cur=0; //当前最大连续数字的个数
for(i=0;i<=str.length();i++)
{
if(str[i]>='0' && str[i]<='9')
{
cur++;
}
else
{
if(cur>right)
{
right=cur; //记录最大连续数字
left=i-cur; //更新左下标
}
cur=0; //不是数字重新开始算
}
}
for(i=left;i<left+right;i++)
{
cout<<str[i];
}
}
int main()
{
string str;
cin>>str;
print(str);
return 0;
}