题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
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; }