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

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

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

//遍历字符串,每次找到长度更大的就覆盖一次,此后找到同样长的就存入新数组
#include <stdio.h>
#include<string.h>
int main()
{
    char arr[200], p[200], r[200];
    while (scanf("%s", arr) != EOF)
    {
        int i = 0, j = 0, sz = strlen(arr), max = 0, count = 0, num = 0, M = 0, N = 0, f = 1;
        for (i = 0; i < sz; i++)
        {
            count = 0;
            num = i;
            while (arr[i] >= '0' && arr[i] <= '9')
            {
                i++;
                count++;
            }
		  //和当前最长的的长度相同
            if (count == max)
            {
			  //M哨兵位,防止短数据存入r
                if (M == count)
                {
                    for (j = f * M; j < (f+1) * M; j++)
                    {
                        r[j] = arr[num];
                        num++;
                    }
                    f++;
                }
			  //出现更大的长度后,第一次遇到同等长度
                else
                {
                    M = max;
                    for (j = 0; j < max; j++)
                    {
                        r[j] = arr[num];
                        num++;
                    }
                    f = 1;
                }
            }
		  //遇到更大长度
            if (count > max)
            {
                max = count;
                for (j = 0; j < max; j++)
                {
                    p[j] = arr[num];
                    num++;
                }
            }
        }
        for (i = 0; i < max; i++)
        {
            printf("%c", p[i]);
        }
        if (M==max)//M与max相等,证明不只一组
        {
            for (i = 0; i < f * max; i++)
            {
                printf("%c", r[i]);
            }
        }
        printf(",%d\n", max);
    }
    return 0;
}

全部评论

相关推荐

找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。 你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。 工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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