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

