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

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

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

#include <algorithm>
#include <vector>

using namespace std;

int main() {
    string str;
    while(getline(cin,str)){
        string temp;
        int max = -1;
        int len = 0;
        vector<string> v;
        for(int  i = 0;i<str.size();i++){
            while(isdigit(str[i])){
                len++;
                
                temp+=str[i];
                i++;
            }
            if(len>=max){
                max=len;
                v.push_back(temp);
            }
            len=0;
            temp.clear();
        }
        stable_sort(v.begin(),v.end(),[](const string&lhs,const string&rhs){
            return lhs.size()>rhs.size();
        });
        int end=v.size()-1;
        for(int i =0;i<v.size()-1;i++){
            if(v[i].size()>v[i+1].size()) {end = i;break;}
        }
        int size = v[end].size();
        for(int i = 0;i<=end;i++){
            cout<<v[i];
        }
        cout<<','<<size<<endl;
    }
}
全部评论

相关推荐

11-27 12:36
已编辑
门头沟学院 前端工程师
Apries:这个阶段来说,很厉害很厉害了,不过写的简历确实不是很行,优势删掉吧,其他的还行
点赞 评论 收藏
分享
把球:这个听过,你加了就会发现是字节的hr
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务