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