华为2018秋招编程题1:在字符串中找出连续最长的数字串
2017-09-07 11:44
399 查看
题目描述
在字符串中找出连续最长的数字串,并把这个串的长度返回。如果存在长度相同的连续数字串,返回最后一个连续数字串。注意:数字串只需要是数字组成的就可以,并不需要顺序,比如数字串“1234”的长度小于数字串“1359055”,如果没有数字,则返回空字符串而不是NULL!(说明:不需要考虑负数)
输入描述
字符串
输出描述
连续数字串&在所有数字串最长的长度
示例
输入
abcd12345ed125ss123058789
输出
1230558789
9
代码(75%)
题目中没有明确说明,在空串的时候应该怎么输出,猜测是这个问题。#include <iostream> #include <string> int main() { string str; while (cin >> str) { int max = 0; string tmp; string res; for (int i = 0; i < str.size(); ++i) { if (str[i] >= '0' && str[i] <= '9') { tmp += str[i]; while (str[i+1] >= '0' && str[i+1] <= '9') { i++; tmp += str[i]; } if (tmp.size() > max) { max = tmp.size(); res = tmp; } else if (tmp.size() == max) { res = tmp; } } tmp.clear(); } cout << res << "," << max << endl; } return 0; }
相关文章推荐
- 华为机试在线训练-牛客网(38)在字符串中找出连续最长的数字串
- 华为练习题 在字符串中找出连续最长的数字串,并把这个串的长度返回
- 华为oj初级 在字符串中找出连续最长的数字串
- 华为oj 在字符串中找出连续最长的数字串
- 华为oj 在字符串中找出连续最长的数字串
- 【华为OJ】在字符串中找出连续最长的数字串
- 每天学习一点编程(4)(在字符串中找出连续最长的数字串,并把这个串的长度返回)
- 华为练习3 在字符串中找出连续最长的数字串
- [华为]在字符串中找出连续最长的数字串
- 华为OJ平台——在字符串中找出连续最长的数字串
- 华为OJ—— 在字符串中找出连续最长的数字串
- 【编程题目】在字符串中找出连续最长的数字串,并把这个串的长度返回
- 华为OJ——在字符串中找出连续最长的数字串
- 华为OJ 在字符串中找出连续最长的数字串
- 华为OJ(在字符串中找出连续最长的数字串)
- 2014华为机试-在字符串中找出连续最长的数字串
- [华为机试练习题]43.在字符串中找出连续最长的数字串
- 华为oj:在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串 ——来自华为OJ平台测试基础篇
- 华为机试题—在字符串中找出连续最长的数字串 c++