ghy

ghy

aha~

刷算法题-巻き上げる

RT。

大環境不景気、生活のために、しっかり勉強しなければなりません 📚📖

一日一問のアルゴリズム問題#

1.【リンクリストの倒数第 k 番目のノード】2 つのポインタ、a=0、b=k、一緒に前に移動し、k の値が null になるまで、a=n-k。

  • 【二分探索木の第 K 小の要素】中順走査、k--
  • 【配列の中での第 K 番目の最大要素】クイックソート、ソートは必要なく、比較のみ。

2.【順列】再帰(DFS)、順番に配列の要素を取り、現在の要素を除いて再帰的に配列の要素を取る(2 つの for ループ + 再帰)

3.【リンクリストの反転】1 回のループ {prev=null,cur=0, next=temp}、next = null の場合、while ループを終了する

4.【二分木のレベル順走査】幅優先探索 BFS:同じレベルの走査(キューの shift)と次のレベルのノードの収集(push)

5.【螺旋行列】巧妙なテクニック:リンゴの皮を剥く。最も外側の層を削除(配列の shift と残りの配列の pop)、配列全体を 180 度回転([].reverse)、再度削除。

6.【IP アドレスの復元】文字列を分割し、再帰(dfs)、各セグメントが 0〜255 の範囲内かどうかをチェック

7.【島の数】陸地のマス = 1 に出会った場合、DFS 探索を行い、探索済みのマス(2 としてマーク)をマークする。

8.【N 木のレベル順走査】BFS 幅優先探索 root-->nextRoot []-->nextRoot []

9.【二分木の反転】前、後序 DFS 深さ優先探索または BFS 幅優先探索、中序は使用できない(2 回反転するため)

10.【最長回文部分文字列】https://writings.sh/post/algorithm-longest-palindromic-substring

11.【重複のない最長部分文字列】動的計画法 + ハッシュマップ

12.【二分木の最近共通祖先】アプローチ 1:DFS(二分木の走査)でパスを計算し、2 つのパスの分岐点を比較する;

  • アプローチ 2:2 つの値が両方左側にある場合、最近の root は左側にある;1 つは左側、もう 1 つは右側の場合、現在の root が最近の共通祖先である。

13.【画像の回転】2 つの for ループ、置換 matrix [j][n - 1- i] = matrix [i][j]

14.【重複のない最長部分文字列】スライドウィンドウ -> マップで文字の位置を示し、max で現在の最大位置を示す

15.【2 つのソートされた配列のマージ】2 つのポインタ、順番に比較して新しい配列に入れる

16.【ルートから葉へのパスの合計】dfs アルゴリズム、訪れた子ノードをマークする(左または右)

17.【パスの合計】dfs アルゴリズム、訪れた子ノードをマークする(左または右)

18.【最大部分配列の和】単一のループで、curSum <0 の場合は破棄して再度合計し、curSum>maxSum && maxSum = curSum

19.【2 つの数の和】マップを作成し、インデックスと値を入れ、同時に既に入れたものとのペアリングを比較する

  • 【3 つの数の和】2.2 ポインタ法:ソートされた配列 & [a,b,c] = [i,i+1,len-1]、target=-num [i]

20.【配列の中での第 K 番目の最大要素】クイックソート法(基準 p を選択し、p より小さいものは左に、p より大きいものは右に移動)、i=0 のポインタを移動し、現在のポインタが i=k の場合、return

21.【最小の長さの部分配列】スライドウィンドウ -> マップで文字の位置を示す

22.【文字列の加算】配列に変換して逆順にする、10 以上の場合は 1 を進める

23.【二分木の最大の深さ】前順走査
24.【LRU アルゴリズム】new Map ()、マップはハッシュキューであり、set は常にキューの最後になる


いくつかの情報#

  • バイトのアルゴリズム面接問題:github.com/afatcoder/LeetcodeTop/blob/master/bytedance/frontend.md
  • Leetcode Top:github.com/afatcoder/LeetcodeTop
  • この記事を読むと、グラフと木の走査が理解できます:https://zhuanlan.zhihu.com/p/98406357
  • 二分木の走査:github.com/liusaint/ls-blog/issues/25

続く

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。