オタク時間アルゴリズムを学んだ後、私はHuahuajiangをフォローして質問をブラッシュアップし始めました。おそらく4月から。本日(2020-8-24)から、ブラッシュされたトピックの要約とレビューを開始します。これまでのところ、Leetcodeは323の質問に答えています。
2020/8/24はトピックの並べ替えを完了します。次のステップは、各トピックにハイパーリンクを追加することです。このハイパーリンクは、可能な限りcsdnのブログを指しています。
2020/10/23 12の質問を完了し、ハッシュテーブルを完了しました。進行は少し遅いです。以前にしたことをすべて忘れたかのように、ほとんどの問題は一目で解決することはできません。しかし、答えを見るとすぐに、自分で質問をしていたときの状況を思い出しました。続ける。
2020/11/5バイナリツリー、ジャンプテーブル、文字列パーツを完成させます。二分木のいくつかのコードは書かれていませんでした、ただそれを見ました。長い間時計から飛び降りて、手書きで書きたかった。弦の部分をずっと見直したかったです。
2020/11/14は写真の一部を完成させました。データ構造部分の演習が完了しました。アルゴリズムの部分で演習を開始します。
2020/11/30は2点を完了しました。
2020/12/18ブラッシュアップバックトラッキングアルゴリズムは比較的単純です。難しいトピックでは、
2020/12/24バックトラッキングアルゴリズムブラッシング
2021/1/2動的計画法ブラッシングをペイントする必要があります。文字列の動的計画法を扱うとき、私が理解できないことがまだいくつかあることに気づきました。この記事は更新されました。
記事のディレクトリ
1ブラッシングの質問の原則
Huahuajiangの推奨によれば、次の結論が導き出されます。
ブラシをかける
質問の数110〜20、合計200〜300の質問
質問をブラッシングする方法
1同じタイプの質問を一緒にブラッシングする
2コードを確認することは非常に重要です。少なくとも3〜5つの異なる実装を確認して
ください。3最初のパス:5分以内に考えられない場合は、答えを確認してください。 2回目のパス:答えが完全に実現されていないことを確認します。1つの質問は60分以内です。3回目:すばやく達成してみてください。15〜20分以内に失敗した場合は答えを確認してください。4
筋肉の記憶を強化するための完全な手書きコード
5コードスタイルを育成する
2データ構造の質問を整理する
質問の書き直しの原則に従って、これは私の2回目の質問の書き直しです。実際、以前の断続的なものを数えると、3つのブラシを数えることは誇張ではありません。
今回のトピックソートでは、以前のオタク時間アルゴリズムトピックの放課後トピックと今回ブラッシュされたトピックがソートされます。このパートでは、データ構造のトピックを整理します。
2.1配列
2.2リンクリスト
2.3スタック
2.4キュー
2.5ハッシュテーブル
リンクリスト方式に基づいてハッシュテーブルを実装して競合の問題を解決し、LRUキャッシュ除去アルゴリズムを
実装します
2.6二分木
二分探索木を実現し、挿入、削除、検索操作をサポートし
ます。二分探索木のノードの後続と先行の検索を
実現します。二分木の前、中、後の順序を実現し、二分木の
反転をトラバースします。
二分木の最大深さ
二分探索木の
パスの合計を検証する
2.7ヒープ
小さいトップヒープ、大きいトップヒープ(ヒープ構造の説明)、優先度付きキューを
実現するヒープソートを実現する優先度付きキューを使用するK個の順序付き配列を
マージする動的データセットのグループの最大のトップKを見つける
2.8ジャンプテーブル
2.9図
有向グラフ、無向グラフ、加重グラフ、非加重グラフの隣接行列と隣接リストの表現方法を
実現するグラフの深さ優先探索と幅優先探索を
実現するDijkstraアルゴリズム、A *アルゴリズムを
実現するKahnアルゴリズム、トポロジカルソート用のDFSアルゴリズムを実現する
2.10トライツリー
- aからzまでの26文字のみを含むトライツリー
3アルゴリズムトピックの配置
3.1並べ替え
1ソート:マージソート、クイックソート、挿入ソート、バブルソート、選択ソート
2プログラミングを実装してO(n)時間計算量を達成し、データセットのK番目に大きい要素を見つけます
3バケットソートとカウントソートも忘れないでください
3.22点
- 35検索挿入位置
類似トピック
:34、704、981タグ:upper_bound - 回転さソートアレイ33検索
题目相似:81、153、154、162、852
タグ:回転、PEEK - 69
Sqrt (x)タグ:upper_bound - 742Dマトリックスを検索する
- 875ココ食べるバナナ
同様のタイトル:1011
タグ:答えを推測して確認する - 42つのソートされた配列の中央値
- 並べ替えられた行列の378K番目の最小要素
同様の質問:668
タグ:k-th + matrix配列内の値を二分し、推測して確認するように感じます - 719 K番目の最小ペア距離を見つける
同様のタイトル:786
タグ:k番目+2つのポインター
3.3検索(BFS、DFS)/バックトラッキング
- 電話番号の17の文字の組み合わせ
:同様の質問39、40、77、78、90、216
タグ:組み合わせ - 46順列
同様のトピック:47、784、943、996
タグ:順列 - 22括弧の生成
同様のトピック301
タグ:DFS - 37数独ソルバー
同様のトピック:51 52
タグ:DFS - 79ワード検索
類似トピック:212
タグ:DFS - 127件のワードラダー
同様のトピック:126、752、818
タグ:BFS - 542件の01マトリックス
に類似のトピック:675、934
タグ:BFS - K等しい合計サブセットに698パーティション
:似てトピック93、131、241、282、842
タグ:順列
3.4ハッシュ
3.5貪欲
3.6分割統治
3.7動的計画法
- 70件の階段を登ると同様のトピック:746、1137
- 303範囲合計クエリ–不変同様のタイトル:1218
- 53最大サブアレイ同様のトピック:121
- 62件のユニークなパス同様のトピック:63、64、120、174、931、1210
- 85件の最大長方形類似のトピック:221、304、1277
- 198件のハウス強盗同様のトピック:213、309、740、790、801
- 279パーフェクトスクエアの同様のトピック:
- 139のワードブレイク同様の質問140、818
- 300件の最長増加部分列類似のトピック:673、1048
- そして最小経路(詳細な仕上げ@Smallfly最小経路合計を参照)
- レビンスタインの最短編集距離を達成するためのプログラミング
- 2つの文字列の最長共通部分列を見つけるためのプログラミング
3.8文字列照合
- 344リバースストリング
- 151文字列内の逆単語
- 8文字列から整数(atoi)
- km²
- ACオートマトン
ACの紹介
ACオートマトンはマルチパターンマッチングのkmpです。記事では詳細を読んでいませんでした。コピーされたコードが実行されました。