题解 | 在字符串中找出连续最长的数字串
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string str;
getline(cin,str);
int fast = 0, slow = 0;
vector<string>s1;
while(fast < str.length()){
if(str[fast] >= '0' && str[fast] <= '9'){
fast++;
}else{
if(fast > slow){
s1.push_back(str.substr(slow,fast - slow));
}
slow = fast + 1 ;
fast = slow;
}
}
if(fast > slow){
s1.push_back(str.substr(slow,fast-slow));
}
int maxLength = 0;
for(string numstr : s1){
if(numstr.length() > maxLength){
maxLength = numstr.length();
}
}
string result;
for(string numstr : s1){
if(numstr.length() == maxLength){
result += numstr;
}
}
cout << result << "," << maxLength<<endl;
return 0;
}
// 64 位输出请用 printf("%lld")

查看1道真题和解析