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

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

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

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

int main() {
    string str;
    getline(cin,str);
    int fast = 0, slow = 0;
    vector<string>s1;
    while(fast < str.length()){
        if(str[fast] >= '0' && str[fast] <= '9'){
            fast++;
        }else{
            if(fast > slow){
                s1.push_back(str.substr(slow,fast - slow));
            }
            slow = fast + 1 ;
            fast = slow;
        }
    }
    if(fast > slow){
        s1.push_back(str.substr(slow,fast-slow));
    }
    int maxLength = 0;
    for(string numstr : s1){
        if(numstr.length() > maxLength){
            maxLength = numstr.length();
        }
    }
    string result;
    for(string numstr : s1){
        if(numstr.length() == maxLength){
            result += numstr;
        }
    }
    cout << result << "," << maxLength<<endl;
    return 0;
}
// 64 位输出请用 printf("%lld")
全部评论

相关推荐

点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
面向对象的火龙果很爱...:去吃一顿炸鸡就走
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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