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

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

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

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

bool isdig(char c){
    if(c>='0'&&c<='9'){
        return true;
    }
    else {
    return false;
    }
}
int main(){
    string s;
    cin>>s;
    vector<int> b;
    int maxs=0,tp=1,p;
    for(int i=0;i<s.size();i++){
        if(isdig(s[i])&&isdig(s[i+1])){
            tp+=1;
            maxs=max(tp,maxs);
        }
        else
        tp=1;
    }
    tp=1;
    for(int i=0;i<s.size();i++){
        if(isdig(s[i])&&isdig(s[i+1])){
            tp+=1;
            if(tp==maxs){
                b.push_back(i);
            }
        }
        else
        tp=1;
    }
    for(int j:b){
        for(int i=j-maxs+2;i<j+2;i++){
            cout<<s[i];
        }
    }
    cout<<','<<maxs;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务