Phase 1 problems
スキルツリー
TypeScript基礎からDPまで、カテゴリの前提関係と問題概要を見渡します。
全体像を見る 8 SHORT DRILLSTypeScript基礎
型、関数、配列、オブジェクト、Mapをブラウザ上で書いて確認します。
文法から確認する30分以内の AC
ローカルに保存
CONTINUE
→2つの数で目標を作る
最初の問題から HashMap パターンを始めましょう。
12 CORE PATTERNS
カリキュラム
HashMap
値と位置、頻度、累積状態をすばやく引き出す。
Linked List
ポインタを安全に動かし、構造の変化を追う。
Sliding Window
連続区間を保ちながら線形時間で探索する。
Binary Search
単調性を見つけ、探索範囲を半分ずつ狭める。
Array & String
配列と文字列の基本操作を実装力に変える。
Stack
直近の状態を積み、対応関係を処理する。
Recursion
問題を小さな同型の問題へ分解する。
Tree / BST
階層を走査し、部分木の結果を組み合わせる。
Heap
上位・下位の要素を効率よく更新する。
Graph
BFS と DFS でつながりを探索する。
Backtracking
選択・探索・巻き戻しで候補を列挙する。
Dynamic Programming
重複する部分問題を状態として再利用する。
THE PRACTICE LOOP
面接と同じ順序で考える
- 01
声に出せる方針を作る
入出力、境界値、素朴解のボトルネックを先に言葉にします。
- 02
小さなケースで実行する
Run は公開ケースだけを使います。実装の勘違いを早く切り分けます。
- 03
性能を含めて提出する
Submit は非公開ケースと性能ケースまで評価し、想定計算量を確かめます。