Golang刷題找工作3. Longest Substring Without Repeating

思路

滑動窗口,如果在hash表裡找到了當前的字符,重新設置窗口的起點位置

code

func lengthOfLongestSubstring(s string) int {
m := make(map[rune]int)
start, max := -1, 0
for k, v := range s {
if last, ok := m[v]; ok && last > start { //如果發現重複字符
start = last
}
m[v] = k
if k-start > max { //保存最大值
max = k - start
}
}
return max
}


分享到:


相關文章: