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