mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-07 01:44:56 +08:00
6.0 KiB
6.0 KiB
title | type | weight |
---|---|---|
2.17 ✅ Sliding Window | docs | 17 |
Sliding Window
- 双指针滑动窗口的经典写法。右指针不断往右移,移动到不能往右移动为止(具体条件根据题目而定)。当右指针到最右边以后,开始挪动左指针,释放窗口左边界。第 3 题,第 76 题,第 209 题,第 424 题,第 438 题,第 567 题,第 713 题,第 763 题,第 845 题,第 881 题,第 904 题,第 978 题,第 992 题,第 1004 题,第 1040 题,第 1052 题。
left, right := 0, -1
for left < len(s) {
if right+1 < len(s) && freq[s[right+1]-'a'] == 0 {
freq[s[right+1]-'a']++
right++
} else {
freq[s[left]-'a']--
left++
}
result = max(result, right-left+1)
}
- 滑动窗口经典题。第 239 题,第 480 题。
No. | Title | Solution | Difficulty | TimeComplexity | SpaceComplexity | Favorite | Acceptance |
---|---|---|---|---|---|---|---|
0003 | Longest Substring Without Repeating Characters | [Go]({{< relref "/ChapterFour/0001~0099/0003.Longest-Substring-Without-Repeating-Characters.md" >}}) | Medium | O(n) | O(1) | ❤️ | 32.4% |
0030 | Substring with Concatenation of All Words | [Go]({{< relref "/ChapterFour/0001~0099/0030.Substring-with-Concatenation-of-All-Words.md" >}}) | Hard | 27.4% | |||
0076 | Minimum Window Substring | [Go]({{< relref "/ChapterFour/0001~0099/0076.Minimum-Window-Substring.md" >}}) | Hard | O(n) | O(n) | ❤️ | 37.9% |
0187 | Repeated DNA Sequences | [Go]({{< relref "/ChapterFour/0100~0199/0187.Repeated-DNA-Sequences.md" >}}) | Medium | 43.1% | |||
0209 | Minimum Size Subarray Sum | [Go]({{< relref "/ChapterFour/0200~0299/0209.Minimum-Size-Subarray-Sum.md" >}}) | Medium | 41.6% | |||
0219 | Contains Duplicate II | [Go]({{< relref "/ChapterFour/0200~0299/0219.Contains-Duplicate-II.md" >}}) | Easy | 40.1% | |||
0220 | Contains Duplicate III | [Go]({{< relref "/ChapterFour/0200~0299/0220.Contains-Duplicate-III.md" >}}) | Medium | 21.5% | |||
0239 | Sliding Window Maximum | [Go]({{< relref "/ChapterFour/0200~0299/0239.Sliding-Window-Maximum.md" >}}) | Hard | O(n * k) | O(n) | ❤️ | 45.8% |
0395 | Longest Substring with At Least K Repeating Characters | [Go]({{< relref "/ChapterFour/0300~0399/0395.Longest-Substring-with-At-Least-K-Repeating-Characters.md" >}}) | Medium | 44.2% | |||
0424 | Longest Repeating Character Replacement | [Go]({{< relref "/ChapterFour/0400~0499/0424.Longest-Repeating-Character-Replacement.md" >}}) | Medium | O(n) | O(1) | 49.8% | |
0438 | Find All Anagrams in a String | [Go]({{< relref "/ChapterFour/0400~0499/0438.Find-All-Anagrams-in-a-String.md" >}}) | Medium | 46.6% | |||
0480 | Sliding Window Median | [Go]({{< relref "/ChapterFour/0400~0499/0480.Sliding-Window-Median.md" >}}) | Hard | O(n * log k) | O(k) | ❤️ | 40.2% |
0567 | Permutation in String | [Go]({{< relref "/ChapterFour/0500~0599/0567.Permutation-in-String.md" >}}) | Medium | O(n) | O(1) | ❤️ | 44.4% |
0632 | Smallest Range Covering Elements from K Lists | [Go]({{< relref "/ChapterFour/0600~0699/0632.Smallest-Range-Covering-Elements-from-K-Lists.md" >}}) | Hard | 56.8% | |||
0643 | Maximum Average Subarray I | [Go]({{< relref "/ChapterFour/0600~0699/0643.Maximum-Average-Subarray-I.md" >}}) | Easy | 42.8% | |||
0713 | Subarray Product Less Than K | [Go]({{< relref "/ChapterFour/0700~0799/0713.Subarray-Product-Less-Than-K.md" >}}) | Medium | 42.0% | |||
0718 | Maximum Length of Repeated Subarray | [Go]({{< relref "/ChapterFour/0700~0799/0718.Maximum-Length-of-Repeated-Subarray.md" >}}) | Medium | 51.2% | |||
0862 | Shortest Subarray with Sum at Least K | [Go]({{< relref "/ChapterFour/0800~0899/0862.Shortest-Subarray-with-Sum-at-Least-K.md" >}}) | Hard | 25.9% | |||
0904 | Fruit Into Baskets | [Go]({{< relref "/ChapterFour/0900~0999/0904.Fruit-Into-Baskets.md" >}}) | Medium | 43.1% | |||
0930 | Binary Subarrays With Sum | [Go]({{< relref "/ChapterFour/0900~0999/0930.Binary-Subarrays-With-Sum.md" >}}) | Medium | 47.3% | |||
0978 | Longest Turbulent Subarray | [Go]({{< relref "/ChapterFour/0900~0999/0978.Longest-Turbulent-Subarray.md" >}}) | Medium | O(n) | O(1) | ❤️ | 47.5% |
0992 | Subarrays with K Different Integers | [Go]({{< relref "/ChapterFour/0900~0999/0992.Subarrays-with-K-Different-Integers.md" >}}) | Hard | O(n) | O(n) | ❤️ | 52.6% |
0995 | Minimum Number of K Consecutive Bit Flips | [Go]({{< relref "/ChapterFour/0900~0999/0995.Minimum-Number-of-K-Consecutive-Bit-Flips.md" >}}) | Hard | O(n) | O(1) | ❤️ | 50.3% |
1004 | Max Consecutive Ones III | [Go]({{< relref "/ChapterFour/1000~1099/1004.Max-Consecutive-Ones-III.md" >}}) | Medium | O(n) | O(1) | 61.6% | |
1052 | Grumpy Bookstore Owner | [Go]({{< relref "/ChapterFour/1000~1099/1052.Grumpy-Bookstore-Owner.md" >}}) | Medium | O(n log n) | O(1) | 56.3% | |
1208 | Get Equal Substrings Within Budget | [Go]({{< relref "/ChapterFour/1200~1299/1208.Get-Equal-Substrings-Within-Budget.md" >}}) | Medium | 45.5% | |||
1234 | Replace the Substring for Balanced String | [Go]({{< relref "/ChapterFour/1200~1299/1234.Replace-the-Substring-for-Balanced-String.md" >}}) | Medium | 35.4% | |||
1423 | Maximum Points You Can Obtain from Cards | [Go]({{< relref "/ChapterFour/1400~1499/1423.Maximum-Points-You-Can-Obtain-from-Cards.md" >}}) | Medium | 49.4% | |||
1438 | Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit | [Go]({{< relref "/ChapterFour/1400~1499/1438.Longest-Continuous-Subarray-With-Absolute-Diff-Less-Than-or-Equal-to-Limit.md" >}}) | Medium | 45.3% | |||
1695 | Maximum Erasure Value | [Go]({{< relref "/ChapterFour/1600~1699/1695.Maximum-Erasure-Value.md" >}}) | Medium | 52.2% | |||
1696 | Jump Game VI | [Go]({{< relref "/ChapterFour/1600~1699/1696.Jump-Game-VI.md" >}}) | Medium | 42.2% | |||
------------ | ------------------------------------------------------- | ------- | ---------------- | --------------- | ------------- | ------------- | ------------- |