スライディングウィンドウと Two Pointers
スライディングウィンドウは、配列や文字列の一区間を保ったまま両端を前に進めていく手法です。部分配列を毎回数え直す必要がなくなります。Two Pointers は同じ発想を一列または二列の数列に使うもので、全探索になりがちな問題を一回の走査で解けるようにします。
6 つの章は固定長ウィンドウから始まり、伸び縮みする可変長ウィンドウ、一列の Two Pointers、二列の Two Pointers、Three Pointers と進み、グループ分けループで終わります。ルートの最初の問題集なので、LeetCode を始めたばかりの人や、しばらく離れていて勘を取り戻したい人に向いています。
194 問レーティング 1165–28066 章
書斎を開く
誰かと一緒にこの問題集を進めたいなら、ログインして書斎を開いてみてください。ヒロインが一問ずつ出題してくれます。
一、Fixed-Length Sliding Window
§1.1 基礎
§1.2 発展(任意)任意
二、Dynamic-Length Sliding Window (Two Pointers)
§2.1 短いほど条件を満たす / 最長・最大を求める
§2.2 長いほど条件を満たす / 最短・最小を求める
§2.3 subarrayの個数を数える
三、単一列の Two Pointers
§3.1 両端から向かい合うTwo Pointers
§3.2 同じ向きに進むTwo Pointers
§3.3 中心から外へ広がるTwo Pointers
| 問題 | レーティング |
|---|---|
| 1793. Maximum Score of a Good Subarray | 1946 |
| 976. Largest Perimeter Triangle | 1263 |
§3.4 インプレース変更
四、二列の Two Pointers
§4.1 Two Pointers
§4.2 subsequence判定
五、Three Pointers
基礎問題
発展的な思考
| 問題 | レーティング |
|---|---|
| 3464. Maximize the Distance Between Points on a Square | 2806 |
六、Grouped Loop
基礎問題
新しいルートは必ずこの問題集の最初のセクションから始まり、3 つの任意セクションは印が付いたうえで発展編に回されるので、先へ進む妨げになりません。
レーティングは zerotrac さんによる LeetCode コンテストレーティングです。zerotrac のレーティングがない問題は「未評価」と表示されます。
書斎を開く