利用兩個指針在陣列或字串上移動,透過不同起點、方向或速度來高效解決問題。常見模式包括:相向指針(由兩端往中間)、同向指針(快慢指針)。
Notes:
- 通常需要先排序,或在已排序的資料上操作
- 相向指針常用於尋找配對,快慢指針常用於偵測環或找中點
跨倉庫導讀#
- 對應理論章節:線性資料結構 ↗
#11
Container With Most Water
#15
3Sum
#18
4Sum
#26
Remove Duplicates From Sorted Array
#42
Trapping Rain Water
#80
Remove Duplicates From Sorted Array II
#88
Merge Sorted Array
#125
Valid Palindrome
#167
Two Sum II - Input Array Is Sorted
#189
Rotate Array
#283
Move Zeroes
#344
Reverse String
#680
Valid Palindrome II
#881
Boats to Save People
#1498
Number of Subsequences That Satisfy The Given Sum Condition
#1768
Merge Strings Alternately
#1968
Array With Elements Not Equal to Average of Neighbors
#1984
Minimum Difference Between Highest And Lowest of K Scores