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

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

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

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

int main() {
    string str;
    vector<string> arr;
    while (getline(cin, str))
    {
        int maxlen = 0, cnt = 0;
        string tmp;
        for (auto x : str)
        {
            if (isdigit(x))
            {
                tmp += x;
                cnt++;
            }
            else  
            {
                if (maxlen > cnt)
                {
                    tmp.clear();
                    cnt = 0;
                }
                else if (maxlen == cnt && cnt != 0)
                {
                    arr.push_back(tmp);
                    tmp.clear();
                    cnt = 0;
                }
                else if (maxlen < cnt)
                {
                    arr.clear();
                    arr.push_back(tmp);
                    tmp.clear();
                    maxlen = cnt;
                    cnt = 0;
                }
            }
        }
        if (cnt != 0)
        {
            if (maxlen == cnt)
            {
                arr.push_back(tmp);
            }
            else if (maxlen < cnt)
            {
                arr.clear();
                arr.push_back(tmp);
                maxlen = cnt;
            }
        }
        for (auto s : arr)
        {
            cout << s;
        }
        cout << ',' << maxlen << endl;
    }
    return 0;
}

全部评论

相关推荐

没hc还海面!呜呜,避雷
回收旧报纸:没有海面吧,我做完笔试有一个多月了,还没消息
点赞 评论 收藏
分享
09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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