统计一个字符串中不重复的字符串的最大长度
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
}
利用这个函数可以得到我们想要的结果 变量名称不严谨可按需修改
以上是关于统计一个字符串中不重复的字符串的最大长度的主要内容,如果未能解决你的问题,请参考以下文章
找出给定的一个字符串中最大的不重复子串,不重复子串即一个子串中不出现两个相同的字符