无重复字符的最长子串

用滑动窗口来维护不重复的字符串,不重复则right指针+1,重复则left指针在重复的位置+1变不重复

复制代码
#include<stdio.h>
#include<string.h>
int Max(int a,int b){
	if(a>b) return a;
	else	return b;
}
int lengthOfLongestSubstring(char* s){
	int len = strlen(s);
	int max = 1;//统计最长不重复即可 
	int flag = 0;//用于记录是否出现重复字符 
	int left = 0;
	int right = 0; 
	int i,j;
	
	for(i = 0;i<len;i++){
		if(left<=right){
			flag = 0;
			//j记录相同字母的下标,将其右移一位就不等了 
			for(j = left;j<right;j++){
				if(s[j]==s[right]){
					flag = 1;
					break;
				}
			}
			if(flag){
				left = j+1;
			}
		}
		max = Max(max,right-left+1);
		right++;
	}
	return max;
} 

int main(){
	char s[] = "abcabcbb";
	int length = lengthOfLongestSubstring(s);
	
	printf("%d",length);
	
	return 0;
}
相关推荐
晨晖21 小时前
顺序查找:c语言
c语言·开发语言·算法
LYFlied1 小时前
【每日算法】LeetCode 64. 最小路径和(多维动态规划)
数据结构·算法·leetcode·动态规划
Salt_07282 小时前
DAY44 简单 CNN
python·深度学习·神经网络·算法·机器学习·计算机视觉·cnn
货拉拉技术2 小时前
AI拍货选车,开启拉货新体验
算法
MobotStone2 小时前
一夜蒸发1000亿美元后,Google用什么夺回AI王座
算法
Wang201220132 小时前
RNN和LSTM对比
人工智能·算法·架构
xueyongfu2 小时前
从Diffusion到VLA pi0(π0)
人工智能·算法·stable diffusion
永远睡不够的入2 小时前
快排(非递归)和归并的实现
数据结构·算法·深度优先
cheems95272 小时前
二叉树深搜算法练习(一)
数据结构·算法
sin_hielo2 小时前
leetcode 3074
数据结构·算法·leetcode