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

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

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

细节很重要,哎,输出细节处理了半天
#include <string>
#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;
string s;
int num = 0;
bool flag = false;

int main() {
    while (cin >> s) {
        vector<vector<string>>result(100);
        for (int i = 0; i < s.size(); i++)
        {
            if (s[i] >= '0' && s[i] <= '9') { num++; flag = true; }
            else if (flag && (s[i] < '0' || s[i]>'9')) {
                string ss = s.substr(i - num, num);
                result[ss.length()].push_back(ss);
                num = 0;
                flag = false;
            }
        }
        if (flag && (s[s.size() - 1] >= '0' && s[s.size() - 1] <= '9')) {
            string ss = s.substr(s.size() - 1 - num + 1, num);
            result[ss.length()].push_back(ss);
            num = 0;
            flag = false;
        }
        int n = result.size();
        int size;
        for (int i = n-1; i >= 0; i--) {
            if (result[i].size() ==0)continue;
            else {
                size = result[i][0].size();
                for (int j = 0; j < result[i].size(); j++)
                {
                    cout << result[i][j];
                }
                cout << ',';
                cout << size << endl;
                break;
            }
        }           
    }
    return 0;
}


全部评论

相关推荐

喜欢喜欢喜欢:这是我见过最长最臭的简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务