题解 | 在字符串中找出连续最长的数字串
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
#include<iostream> #include<string> #include<algorithm> #include<vector> using namespace std; bool isdig(char c){ if(c>='0'&&c<='9'){ return true; } else { return false; } } int main(){ string s; cin>>s; vector<int> b; int maxs=0,tp=1,p; for(int i=0;i<s.size();i++){ if(isdig(s[i])&&isdig(s[i+1])){ tp+=1; maxs=max(tp,maxs); } else tp=1; } tp=1; for(int i=0;i<s.size();i++){ if(isdig(s[i])&&isdig(s[i+1])){ tp+=1; if(tp==maxs){ b.push_back(i); } } else tp=1; } for(int j:b){ for(int i=j-maxs+2;i<j+2;i++){ cout<<s[i]; } } cout<<','<<maxs; }