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

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

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

#include <cstring>

#include <iostream>

#include<vector>

using namespace std;

int main() {

    string s;

    while(cin >> s)

    {

        vector<pair<int, string>> res;

        int map[201] = {0};

        int max_len = 0;

        int len = s.length();

        if(len == 1) cout << s << 1 << endl;

        int i = 0, j = 0;

        while(i < len && j < len)

        {

            while(!(s[i] >= '0' && s[i] <= '9')) i++;

            j = i;

            while(s[j] >= '0' && s[j] <= '9') j++;

            res.push_back(make_pair(j-i, s.substr(i,j-i)) );

            map[j-i]++;

            i = j;

        }

        for(int i = 200; i >= 0; --i)

            if(map[i] != 0){

                max_len = i;

                break;

            }

        int cnt = map[max_len];

        for(int i = 0; i < res.size(); ++i) if(res[i].first == max_len) cout << res[i].second;

        cout << "," << max_len << endl;

    }    

}

// 64 位输出请用 printf("%lld")

全部评论

相关推荐

运营你豪哥:简历改改吧-非本、求职意向技术岗、无实习经历、内容空洞 如果简历不爆改的话,应该是会持续崩溃了 1.把你教育经历放最下面去 2.蓝底照片很奇怪哈,感觉还在高中时代,建议白底重新拍一下 3.校园经历没啥必要,收集和反馈同学们对产品的意见,解决学生和老师之间的沟通,企业招聘不看这些哈 好好思考一下简历的设计和你要表达的重点,再去投简历
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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