20170914_字符串中找出最长的连续数字串

来源:互联网 发布:matlab 无标度网络 编辑:程序博客网 时间:2024/06/05 18:33

20170914_字符串中找出最长的连续数字串

字符串中找出最长的连续数字串_好未来
题目描述
读入一个字符串str,输出字符串str中的连续最长的数字串
输入描述:
个测试输入包含1个测试用例,一个字符串str,长度不超过255。
输出描述:
在一行内输出str中里连续最长的数字串。
示例1
输入
abcd12345ed125ss123456789
输出
123456789
*/


#include<iostream>#include<string>#include<cstring>#include<vector>#include<algorithm>#include<numeric>#include<functional>#include<sstream>using namespace std;class Solution{public:void MaxLongNumbers(string &strSource){int strLen=strSource.size();if(strLen<1 || strLen>256)return;vector<string> res;res.push_back(strSource);int maxLong=0;int tempNum=0;int i=0;int j=0;//abcd12345ed125ss123456789sfor(i=0; i<strLen; ++i){for(j=i; j<strLen; ++j){if(strSource[j]>='0' && strSource[j]<='9'){break;}}i=j;for(; i<strLen; ++i){if(!(strSource[i]>='0' && strSource[i]<='9'))break;}--i;tempNum=i-j+1;if(tempNum>maxLong){maxLong=tempNum;res.clear();res.push_back(strSource.substr(j, maxLong));}}cout<<res[0]<<endl;//cout<<maxLong<<endl;}};int main(void){string strSource;class Solution object;while(getline(cin, strSource)){object.MaxLongNumbers(strSource);}system("pause");return 0;}


原创粉丝点击