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