美文网首页
在一个以空格分隔的字符串中,求最长子串长度,时间和空间复杂度尽可

在一个以空格分隔的字符串中,求最长子串长度,时间和空间复杂度尽可

作者: Matt_Z_ | 来源:发表于2019-04-23 16:53 被阅读0次

    解决方案:下面使用C语言实现的

    先说一下:思路
    1.首先定义两个变量maxCount用来存储最长串的长度,count当前串的长度
    2.对串从左到右进行遍历,遇到字符串开始计算count值+1,遇到空格,将当前串的长度与定义的maxCount进行比较,如果大于maxCount,则覆盖掉,小于的话不做处理
    3.结束循环后,打印maxCount

    char str[] = "a bc defg ghi j k l mn op q";
            int count = 0;     // 计算每组的长度
            int maxCount = 0;  // 存储最长字符串长度
    
            // 循环遍历
            for (int i = 0; i < strlen(str); i++) {
    
                //当前取到的值为空格或者'\0'
                if (str[i] == ' ' || str[i]=='\0' ) {
                    
                    maxCount = maxCount > count ? maxCount:count;
                    count = 0;
                    
                }else { 
                    
                    count++; //当前取的值为字符
                }
                
            }
            printf("\n");
            printf("maxCount = %d\n",maxCount);
    
    

    相关文章

      网友评论

          本文标题:在一个以空格分隔的字符串中,求最长子串长度,时间和空间复杂度尽可

          本文链接:https://www.haomeiwen.com/subject/riavgqtx.html