题解 | #最长不含重复字符的子字符串#
最长不含重复字符的子字符串
http://www.nowcoder.com/practice/48d2ff79b8564c40a50fa79f9d5fa9c7
package main
/**
-
代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
-
@param s string字符串
-
@return int整型 */ func lengthOfLongestSubstring( s string ) int {
// write code here arr:=make([]string,0) c:=[]byte(s) for _,value:=range c{ arr=append(arr,string(value)) } var length int=1 if len(arr)<=1{ length=len(arr) return length } var leftIndex int=0 for i:=1;i<len(arr);i++{ if index,ok:=IsContain(arr[leftIndex:i],arr[i]);ok{ leftIndex=index+leftIndex+1 } tmp:=i-leftIndex+1 if tmp>length{ length=tmp } } return length } func IsContain(items []string, item string) (int,bool){ for i, eachItem := range items { if eachItem == item { return i,true } } return 0,false } func Delete(items []string, item string)[]string{ str:=make([]string,0) for _,value:=range items{ if value!=item { str=append(str,value) } } return str }