
コーディング面接で
アルゴリズムのチートシートに、
出題の頻度は、海外でよく使われる定番の問題リスト 4 本 (Blind 75、NeetCode 150、Grind 75、LeetCode Top Interview 150) に何本入っているかで、よく出る・ときどき出る・少なめ の 3 段階に分けています。少なめは、
難度の目安
- 型を
1 つ 知っていれば 解ける 基本の 問い。 LeetCode の Easy ほど - 型を
選び、 端の 場合まで 詰めて 解く 問い。 LeetCode の Medium ほど - 型を
組み合わせるか、 計算量を 一段縮める 工夫が 要る 問い。 Medium の 難しい 物と Hard - いく
つもの 操作を 持つ仕組みを、 データの 持ち方から 設計して作る問い
二分探索木
スタックの
中順の 走査で 二分探索木の k 番目に 小さい 値を探す 二分探索木から、
小さい 方から 数えて k 番目の 値を 返します。 左、 自分、 右の 順に 読むと 小さい 順に なる ことを 使い、 その 読み方を 再帰ではなく スタックの 繰り返しで 書く 練習です。 二分探索木の
大小で 2 つの 節の 共通の 祖先を探す 二分探索木の
2 つの 値に ついて、 両方を 子孫に 持ついちばん深い 節 (共通の 祖先) の 値を 返します。 2 つの 値と 節の 大小だけで、 根から 1 本道で 下りられる ことに 気づく 練習です。 繰り返しで
二分探索木に 新しい 値を 葉と して足す 二分探索木に
新しい 値を 足し、 足した あとの 木を 返します。 大小で 左右へ 進んで 空いた 所を 探し、 そこへ 葉と して つなぐ 練習です。
解いた
言葉で