统计一个字符串中不重复的字符串的最大长度

Posted yesiming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计一个字符串中不重复的字符串的最大长度相关的知识,希望对你有一定的参考价值。

统计一个字符串中不重复的字符串的最大长度

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <unistd.h>
int get_maxlen(char *s)

    int a[128]=0;
    int b=0,left=0;
    int max=0;
    while(b<strlen(s))
    
        if(a[s[b]]>0)
        
            a[s[left]=0];
            left++;
        
        else
        
            a[s[b]]=1;
            b++;
            max=(b-left)>max?(b-left):max;
        
    
    return max;

int main()

    char a[128]=0;
    printf("input >>");
    scanf("%s",a);
    printf("%d\\n",get_maxlen(a));
    return 0;

字符串中不重复字符的最大长度计算

例如:有一个随机字符串我们需要得到这个字符串中不重复的子字符串最长的那个长度。

function getMaxLength(str) {
let string = ‘‘ // 返回要求的字符串
let strLength = 0 // 返回要求字符串长度
for (let i = 0; i < str.length; i++) {
if (!string.includes(str.charAt(i))) {
string += str.charAt(i) // 输入字符串起始位开始判断没有重复的赋值给变量string
if (i === str.length - 1 && string.length > strLength) {
strLength = string.length
}
} else {
// 在遇到重复的元素时 得到string
if (string.length > strLength) {
strLength = string.length
}
string = string.split(str.charAt(i))[1] + str.charAt(i) //下一次string赋值要由重复字符的第一个字符后面一位开始
}
}
return strLength
}
利用这个函数可以得到我们想要的结果 变量名称不严谨可按需修改



















以上是关于统计一个字符串中不重复的字符串的最大长度的主要内容,如果未能解决你的问题,请参考以下文章

找出给定的一个字符串中最大的不重复子串,不重复子串即一个子串中不出现两个相同的字符

JS统计重复字符串

leetCode第3题(找出字符串中不含有重复字符的最长子串的长度)

猫鼬模式设置字符串的最大长度[重复]

上上下下的字符串(模拟)

51nod 1277 字符串中的最大值(KMP算法)