题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
#include <cctype>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
string str;
while(cin>>str){
int num = 0;
int maxl = 0;
string res = "";
for(int i = 0;i<str.size();i++){
char c = str[i];
if(isdigit(c)){
num++;
maxl = max(maxl,num);
}else{
num = 0;
}
}
int num2 = 0;
int be ;
for(int i = 0;i<str.size();i++){
char c = str[i];
if(isdigit(c)){
num2++;
if(num2 == maxl){
be = i-maxl+1;
string s = str.substr(be,maxl);
res += s;
}
}else{
num2 = 0;
}
}
string out = res+','+to_string(maxl);
cout<<out<<endl;
}
}
// 64 位输出请用 printf("%lld")

查看10道真题和解析