字符串中连续最长数字串

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}

猜你喜欢

转载自blog.csdn.net/guorong520/article/details/81263653