题目:
Longest Substring Without Repeating Characters:Given a string, find the length of the longest substring without repeating characters.
Example 1:
Input: "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3.
Example 2:
Input: "bbbbb" Output: 1 Explanation: The answer is "b", with the length of 1.
Example 3:
Input: "pwwkew" Output: 3 Explanation: The answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke" is a subsequence and not a substring.
代码
func lengthOfLongestSubstring(s string) int {
start:=0
length:=0
sLen := len(s)
data:=make(map[uint8]int,len(s))
for i:=0;i<sLen;i++ {
if index,ok:=data[s[i]];ok&& index >= start{
temp := i-start
if temp > length {
length=temp
}
start = index + 1
data[s[i]]=i
}else {
data[s[i]]=i
}
}
if length > sLen - start {
return length
}
return sLen-start
}