# 3 - Longest Substring Without Repeating Characters
解法一 - Brute Force
我先用一種 naive 的做法,每一種 substr 都去看看這個 substr 裡是不是全部 char 都 unique,如果是的話,再跟 maxLen 比比看長度。
實作起來的效率非常差:
Runtime: 1040 ms, faster than 5.04% of C++ online submissions for Longest Substring Without Repeating Characters. Memory Usage: 266.2 MB, less than 5.01% of C++ online submissions for Longest Substring Without Repeating Characters.
解法二 - Sliding Window
Sliding window 主要的概念就是,如果目前的 window 還沒有重複的字母,那就移動右邊的邊界(在下面的實作中由 j 表示),如果有重複的字母,那就移動左邊的邊界(由 i 表示)直到沒有
效率確實也比暴力解好上不少:
Runtime: 36 ms, faster than 31.63% of C++ online submissions for Longest Substring Without Repeating Characters. Memory Usage: 15.7 MB, less than 20.17% of C++ online submissions for Longest Substring Without Repeating Characters.
Last updated