[华为OJ--C++]087-在字符串中找出连续最长的数字串
来源:互联网 发布:深圳返享网络 编辑:程序博客网 时间:2024/05/23 23:13
题目描述:在字符串中找出连续最长的数字串
输入描述:输入一个字符串。如果是输入字符串中连续最长的数字串长度为0,则只输出数字0
如果输入的字串中最长的数字字串只有一组,那么输出这个数字字串再加上数字字串长度,用逗号隔开;
如果输入字串中有多个相同长度的数字字串,那么依次输出这些字串,用逗号隔开,在最后输出这些字串的长度,如输入132ab123 那么输出 132,123,3
输出描述:见题目描述
输入例子:abcd12345ed125ss123058789
输出例子:123058789,9
算法实现:
#include<iostream>#include<vector>#include<string>using namespace std;//************************************************ // * Author: 赵志乾 // * Date: 2017-2-19 // * Declaration: All Rigths Reserved !!! //************************************************void ModifyRet(vector<int>&index,int& ret,int& len,int i);int main(){string instr;getline(cin,instr);vector<int>retindex;int ret=0,len=0,index=0;for(int i=0;i<instr.length();i++){if(instr[i]>='0'&&instr[i]<='9')len++;elseModifyRet(retindex,ret,len,i);}ModifyRet(retindex,ret,len,instr.length());if(ret!=0){for(int i=0;i<retindex.size();i++)cout<<instr.substr(retindex[i],ret)<<',';cout<<ret<<endl;}elsecout<<0<<endl;return 0;}void ModifyRet(vector<int>&index,int& ret,int& len,int i){if(ret<len){ret=len;index.clear();index.push_back(i-len);}else if(ret==len){index.push_back(i-len);}len=0;}
0 0
- [华为OJ--C++]087-在字符串中找出连续最长的数字串
- 【华为OJ】【087-在字符串中找出连续最长的数字串】
- OJ------在字符串中找出连续最长的数字串
- 华为OJ 在字符串中找出连续最长的数字串
- 华为OJ测试--在字符串中找出连续最长的数字串
- 华为oj:在字符串中找出连续最长的数字串
- 华为OJ(在字符串中找出连续最长的数字串)
- 华为oj 在字符串中找出连续最长的数字串
- 华为OJ:在字符串中找出连续最长的数字串
- 华为oj 在字符串中找出连续最长的数字串
- 华为OJ平台——在字符串中找出连续最长的数字串
- 华为OJ 初级:在字符串中找出连续最长的数字串
- 华为OJ—— 在字符串中找出连续最长的数字串
- 华为OJ——在字符串中找出连续最长的数字串
- 【华为OJ】在字符串中找出连续最长的数字串
- 华为oj初级 在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串 ——来自华为OJ平台测试基础篇
- 华为练习3 在字符串中找出连续最长的数字串
- js变量中有var定义和无var定义的区别,es6中let命令和const命令
- ssldump 简介与使用
- Codeforces Round #397 E. Tree Folding (树形dp)
- 多线程4-线程状态与常用方法
- hdu 5919 Sequence II(主席树)
- [华为OJ--C++]087-在字符串中找出连续最长的数字串
- I/O复用:pselect
- 单链表功能大全
- [题解]bzoj2039(2009国家集训队)employ人员雇佣
- Codeforces Round #398 (Div. 2) A Snacktower
- jstee--基础用法
- MATLAB实现最大类间方差算法
- Java的native关键字
- Jedis的使用