题解 | #在字符串中找出连续最长的数字串#

在字符串中找出连续最长的数字串

https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec

#include <cctype>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    string str;
    while(cin>>str){
        int num = 0;
        int maxl = 0;
        string res = "";
        for(int i = 0;i<str.size();i++){
            char c = str[i];
            if(isdigit(c)){
                num++;
                maxl = max(maxl,num);
            }else{
                num = 0;
            }
        }
        int num2 = 0;
        int be ;
        for(int i = 0;i<str.size();i++){
            char c = str[i];
            if(isdigit(c)){
                num2++;
                if(num2 == maxl){
                    be = i-maxl+1;
                    string s = str.substr(be,maxl);
                    res += s;
                }
            }else{
                num2 = 0;
            }
        }
        string out = res+','+to_string(maxl);
        cout<<out<<endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务