mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 08:27:30 +08:00
30 lines
892 B
Markdown
30 lines
892 B
Markdown
---
|
|
title: 2.17 ✅ Sliding Window
|
|
type: docs
|
|
weight: 17
|
|
---
|
|
|
|
# Sliding Window
|
|
|
|

|
|
|
|
- 双指针滑动窗口的经典写法。右指针不断往右移,移动到不能往右移动为止(具体条件根据题目而定)。当右指针到最右边以后,开始挪动左指针,释放窗口左边界。第 3 题,第 76 题,第 209 题,第 424 题,第 438 题,第 567 题,第 713 题,第 763 题,第 845 题,第 881 题,第 904 题,第 978 题,第 992 题,第 1004 题,第 1040 题,第 1052 题。
|
|
|
|
```c
|
|
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 题。
|
|
|
|
|
|
{{.AvailableTagTable}} |