题解 | #在字符串中找出连续最长的数字串#

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

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

#include<bits/stdc++.h>
using namespace std;
string str;
int main()
{
    while(cin >> str)
    {
        int len = str.length();
        int dp[205] = {0};
        if(isdigit(str[0]))
            dp[0] = 1;
        for(int i = 1; i < len; i++)
        {
              if(isdigit(str[i]))
              {
                  dp[i] = dp[i-1] + 1;
              }else{
                  dp[i] = 0;
              }
        }
        int maxlen = -1;
        for(int i = 0; i < len; i++)
        {
            if(dp[i] > maxlen){
                maxlen = dp[i];
            }
        }
        for(int i = 0; i < len; i++)
        {
            if(dp[i] == maxlen)
            {
                int j = i - maxlen + 1;
                for(j; j <= i; j++)
                {
                    cout << str[j];
                }
            }
        }
        cout << "," << maxlen << endl;
    }
    return 0;
}
全部评论

相关推荐

26想校招上岸的菜鸟:但是不可否认的是 leader想要3个 结果投了1000个 领导筛了100个面试 当leader找到了满意的3个 让他们继续二面 但是同时 其他的97个也会让你一面 因为已经约面了总不能毁面吧 因为leader也不确定那3个能不能过后面的面试,以及来不来 因此 这97个有一部分作为那3个的后续 剩下的 就是走个过场 面完就挂 这就是我个人认为的kpi面
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务