敘述
這是 Algorithm I 的第六天第一個題目,總共有兩題。
- 難度:
Medium - 花費時間: 1 小時
- 題目
Given a string s, find the length of the longest substring without repeating characters.
點我開啟限制與範例
限制:
0 <= s.length <= 5 * 104sconsists of English letters, digits, symbols and spaces.
Example 1:
1 | Input: s = "abcabcbb" |
Example 2:
1 | Input: s = "bbbbb" |
Example 3:
1 | Input: s = "pwwkew" |
筆記
這題要用到 Hash Table 跟 Sliding Window
Sliding Window 的重點是何時收斂。
在這題,我們每加入一個 char 到 sSet 裡,就會跟第一個值比較,
所以,如果新加入的值有重複,就進入收斂模式,收斂到新加入的這個值沒有跟 set 裡的值重複,掌握這個重點,問題就迎刃而解了。
程式碼
1 | public int lengthOfLongestSubstring(String s) { |
成績
