题目描述
输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度,(比如12234属于非严格递增连续数字序列)。
输入描述
输入一个字符串仅包含大小写字母和数字,输入的字符串最大不超过255个字符。
输出描述
最长的非严格递增连续数字序列的长度
用例
输入 | abc2234019A334bc |
---|---|
输出 | 4 |
说明 | 2234为最长的非严格递增连续数字序列,所以长度为4。 |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
string str;
cin >> str;
int len = 0;
int maxLen = 0;
int maxNum = 0;
for (int i = 0; i < str.size(); i++) {
if (isdigit(str[i])) {
int curNum = str[i] - '0';
if (len == 0) {
len = 1;
maxNum = curNum;
} else {
if (curNum >= maxNum) {
len++;
} else {
len = 1;
}
maxNum = curNum;
}
} else {
len = 0;
maxNum = 0;
}
maxLen = max(maxLen, len);
}
cout << maxLen;
return 0;
}