题解 | #在字符串中找出连续最长的数字串#C++解法,用一个容器存最长子串,如果还有更长的,则清空容器存更长的子串

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

http://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec

//整体思路:用一个容器存最长子串,如果还有更长的,则清空容器存更长的子串
#include<bits/stdc++.h>
using namespace std;
int main()
{
    string str;
    while(cin>>str)
    {
        vector<char> v;//存放最长数字子串
        int num=0;
        for(int i=0;i<str.size();i++)
        {
            int tmp=0;//tmp用来存临时的最长个数
            while(i<str.size()&&str[i]>='0'&&str[i]<='9')
            {
                i++;tmp++;
            }
            if(num==tmp)//和最长个数一样多,则都加入v,等待最后输出
            {
                for(int j=i-tmp;j<i;j++)
                {
                    v.push_back(str[j]);
                }
            }
            if(num<tmp) //比前一个最长个数还多,则清空容器v,插入新的最长数字子串
            {
                num=tmp;
                v.clear();
                for(int j=i-tmp;j<i;j++)
                {
                    v.push_back(str[j]);
                }
            }
        }
        for(auto x:v)
        {
            cout<<x;
        }
        cout<<','<<num<<endl;
    }
}
全部评论

相关推荐

兄弟们,绩效自评一定得给自己打A啊!千万别谦虚给低分,不然领导正愁给谁高分,你这不就“主动请缨”了嘛,而且多数领导不会给你更高分。我几年前试用期绩效自评打了B,领导就给了同等级,还好是试用期。真别等领导主动给高评价!
准备进厂的劳伦斯很迷人:小学时候有个册子 自评 小组 老师 我谦虚打了个b 小组别人给我打b 老师来句我觉得能给他打a 但是小组长说他自评是b怎么能打高呢 那时候我才明白的道理
点赞 评论 收藏
分享
01-16 18:34
四川大学 Java
欢迎加入AI:没有啥稳定不稳定,一切都源于业务快速发展还是收缩。我当年一开始去的央企,业务不赚钱,也贼卷,慢慢就开始优化了。。。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务