算法之字符串找出最长的数字串

 

 分析和思路:while循环判断是否是数字且相等,相等则进入循环,用变量保存较大值即可

 1 // TheLongestNumber.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
 2 //
 3 #include <iostream>
 4 #include "iostream"
 5 #include "string"
 6 #include "vector"
 7 using namespace std;
 8 
 9 int main()
10 {
11     string input;
12     while (cin >> input)
13     {
14         int max = 0;
15         vector<string> v;
16         for (int i = 0; i < input.size(); i++)
17         {
18             int count = 0;
19             if (input[i] >= '0'&&input[i] <= '9')
20             {
21                 string temp;
22                 while (i < input.size() && (input[i] >= '0'&&input[i] <= '9'))
23                 {
24                     temp.append(1, input[i]);
25                     count++;
26                     i++;
27                 }
28                 if (count > max)
29                 {
30                     v.clear();
31                     max = count;
32                     v.push_back(temp);
33                 }
34                 else  if (count == max)
35                 {
36                     max = count;
37                     v.push_back(temp);
38                 }
39             }
40 
41         }
42         if (v.size() == 1)
43         {
44             cout << v[0] << "," << v[0].size()<<endl;
45         }
46         else
47         {
48             for (int i = 0; i < v.size(); i++)
49             {
50                 cout << v[i];
51 
52             }
53             cout << ",";
54             cout << v[0].size() << endl;
55         }
56         
57     }
58     return 0;
59 }

 

posted @ 2022-03-04 22:17  技术笔记记录  阅读(68)  评论(0)    收藏  举报