golang实现寻找最长不含有重复字符的子串

寻找最长不含有重复字符的子串

直接看代码

//寻找最长不含有重复字符的子串,里面的rune直接把中文转为一个字节,中英文一起操作
func lengthOf(s string) int{
	lastOcc:=make(map[rune]int)
	srart :=0
	maxLength:=0
	for i ,ch :=range []rune(s){
		if lastI,ok:=lastOcc[ch];ok&& lastI>=srart{
			srart=lastI+1
		}
		if i-srart+1 >maxLength{
			maxLength=i-srart+1
		}
		lastOcc[ch]=i
	}
	return maxLength
}

版权声明:本文为qq_23009739原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。