番禺网站制作设计,中国新闻社待遇,网站建设企业排名,济南网站建设首选传承网络题目#xff1a; 题解#xff1a;
func lengthOfLongestSubstring(s string) int {// 哈希集合#xff0c;记录每个字符是否出现过m : map[byte]int{}n : len(s)// 右指针#xff0c;初始值为 -1#xff0c;相当于我们在字符串的左边界的左侧#xff0c;还没有开始移动r…题目 题解
func lengthOfLongestSubstring(s string) int {// 哈希集合记录每个字符是否出现过m : map[byte]int{}n : len(s)// 右指针初始值为 -1相当于我们在字符串的左边界的左侧还没有开始移动rk, ans : -1, 0for i : 0; i n; i {if i ! 0 {// 左指针向右移动一格移除一个字符delete(m, s[i-1])}for rk 1 n m[s[rk1]] 0 {// 不断地移动右指针m[s[rk1]]rk}// 第 i 到 rk 个字符是一个极长的无重复字符子串ans max(ans, rk - i 1)}return ans
}func max(x, y int) int {if x y {return y}return x
}