题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
#include <cctype> #include <iostream> #include <vector> using namespace std; int main() { string s; while (cin>>s) { vector<int> dp(s.size()+1,0); for (int i=1; i<=s.size(); i++) { if(isdigit(s[i-1])){ dp[i] = dp[i-1]+1; } } int max_len = 0; for (auto& i:dp) { max_len = max(i,max_len); } vector<string> ss; if (max_len > 0) { for (int i=0; i<dp.size(); i++) { if(dp[i]==max_len){ string r = s.substr(i-max_len,max_len); ss.push_back(r); } } } for(auto& s:ss){ cout<<s; } cout<<","<<max_len<<endl; } } // 64 位输出请用 printf("%lld")