敘述
這是 Algorithm I
的第六天第一個題目,總共有兩題。
- 難度:
Medium
- 花費時間: 1 小時
- 題目
Given a string s
, find the length of the longest substring without repeating characters.
點我開啟限制與範例
限制:
0 <= s.length <= 5 * 104
s
consists 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) { |