学習コンテンツテック企業求人ブログ面接対策サポート

Coding InterviewCat

トップ

01 Coding InterviewCat

はじめに

02 イントロダクション03 Coding InterviewCat対象読者

コーディング面接対策とロードマップ

04 企業ごとの対策のレベル感05 コーディング面接に対する心構え06 コーディング面接対策ロードマップ

Python基礎と計算量

07 コーディング面接で必要なPythonの学習08 計算量とBig O

Discordサポートについて

09 Discordサポート(購入者特典)

本書掲載のLeetCode問題集

10 本書に掲載されているLeetCode問題集

配列 / 文字列

11 配列と文字列(導入)12 ハッシュテーブル(導入)13 ソート(導入)14 スタック(導入)15 配列 / 文字列(基礎)二重ループ16 配列 / 文字列(基礎)ハッシュテーブル17 配列 / 文字列(基礎)ソート, カスタムソート, バケットソート18 配列 / 文字列(基礎)行列 2D Matrix19 配列 / 文字列(基礎)スタック20 配列 / 文字列(応用)累積和(Prefix Sum)21 配列 / 文字列(応用)Two Pointers22 配列 / 文字列(応用)Sliding Window23 配列 / 文字列(応用)In-place Counting, Negative Marking24 配列 / 文字列(応用)Quickselect

ヒープ / 優先度付きキュー

25 ヒープ / 優先度付きキュー(導入)26 ヒープ / 優先度付きキュー(基礎) heapify, heappush, heappop27 ヒープ / 優先度付きキュー(基礎)ヒープソート

再帰呼び出し / バックトラック法

28 再帰呼び出し / バックトラック法(導入)29 再帰呼び出し / バックトラック法(基礎)再帰30 再帰呼び出し / バックトラック法(応用)バックトラック

連結リスト

31 連結リスト(導入)32 連結リスト(基礎)リスト走査33 連結リスト(基礎)ノード削除34 連結リスト(基礎)リスト反転35 連結リスト(基礎) 複数のリスト走査36 連結リスト(応用) Two Pointers, Slow/Fast Pointers37 連結リスト(応用) 双方向リスト38 キュー(導入)

二分探索

39 二分探索(基礎)値の探索, 境界の探索40 二分探索(基礎)下界, 上界41 二分探索(応用)答えの決めうち二分探索, 最長部分増加列42 二分探索(発展)2D 最長部分増加列

二分木

43 二分木(導入)44 二分木(基礎)BFS, DFS45 二分木(基礎)巡回, 二分探索木46 二分木(応用)二分木の再構築, 二分木のシリアライズ

グラフ

47 グラフ(導入)48 グラフ(基礎)BFS, DFS49 グラフ(基礎)二次元配列50 グラフ(基礎)ダイクストラ51 グラフ(基礎)トポロジカルソート52 グラフ(応用)木の直径, 強連結成分, 関節点 & 橋53 グラフ(応用)Unionfind, 最小全域木54 グラフ(応用)Warshall-Floyd, 0-1 BFS55 グラフ(発展)グラフDP

動的計画法

56 動的計画法(導入)57 動的計画法(基礎)貰うDP, 配るDP58 動的計画法(基礎)”まで”を状態として扱う, 状態の拡張59 動的計画法(基礎)二次元状態DP60 動的計画法(応用)グラフDP, メモ化再帰DP61 動的計画法(応用)辞書で状態を管理, bitで状態を管理62 動的計画法(応用)2つのDP, 絶対値DP, ゲームDP63 動的計画法(発展)スタックとDP, 累積和とDP
64 [Coming Soon] Bit Manipulation65 [Coming Soon] 貪欲法66 [Coming Soon] トライ木、サフィックス木67 [Coming Soon] Intervals68 [Coming Soon] 数学
© 2026 InterviewCat. All rights reserved.
プライバシーポリシー利用規約特定商取引法に基づく表記運営お問い合わせフォーム
🧑‍💻
Coding InterviewCat
/
📖
動的計画法(基礎)二次元状態DP
📖

動的計画法(基礎)二次元状態DP

LeetCode 練習問題集

問題
難易度
重要度
テクニック
0-1 Knapsack Problem
★★★
高
二次元状態DP
Best Time to Buy and Sell Stock with Transaction Fee
★★★
高
二次元状態DP
Largest Square
★★★
高
二次元状態DP
Knapsack Problem
★★★
高
二次元状態DP
Best Time to Buy and Sell Stock with Cooldown
★★★
高
二次元状態DP
Unique Paths
★★
高
二次元状態DP
Longest Common Subsequence
★★★
高
二次元状態DP
Edit Distance
★★★
高
二次元状態DP
Interleaving String
★★★
高
二次元状態DP
Distinct Subsequences
★★★
高
二次元状態DP
Regular Expression Matching
★★★★★
中
二次元状態DP

二次元状態DP

今まで扱った問題の状態は全て一次元でした。ここでいう一次元とはdp(i)といった形で、状態を構成する要素がiの1つしかないことを意味します。実際の問題では状態を構成する要素が複数存在することがあります。例えばこれから解説する二次元状態DPでは、dp(i, j)という様に状態を構成する要素が2つとなる問題を扱います。
状態を構成する要素が増えればその分だけ遷移式の立式も複雑になり、問題も難しくなります。本章では有名で典型的な二次元状態DPの例題をいくつか扱います。また練習問題では様々な二次元状態DPに触れて慣れることを目的として、例題と密接な関係が無い問題も出題しています。

例題1. Knapsack Problem(ナップザック問題)

難易度: ★★★ 重要度: 高

全て読むには購入が必要です

このコンテンツを全て読むには購入が必要です

購入すると、このコンテンツの全ページにアクセスできるようになります。

非表示コンテンツ📝 14,954文字🖼️ 7枚の画像

Coding InterviewCat

Coding InterviewCatはコーディング面接に特化した教材です。コーディング面接に必要なPythonの学習、基本的なデータ構造とアルゴリズムとLeetCode効率的に学習する上での教材を用意しています。

価格¥29,800