色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

非計算機專業(yè),想刷leetcode,請問在此之前需要做什么準備?

錢諍諍2年前15瀏覽0評論

謝謝邀請,在開始Leetcoding之前,你需要學習/整理重要主題列表。如果不這樣做,最終將浪費時間。請記住以下兩個規(guī)則:

  1. 不要在準備工作上花費太多時間。
  2. 不要在準備工作上花費太多時間。

如果您花太多時間學習,您將永遠無法解決Leetcode/CTCI問題。相反,如果您在準備工作上花費的時間太少,就會迷失方向。重要的是您要花費適當?shù)臅r間進行準備工作,以確保您不會浪費時間。

在執(zhí)行任何操作之前,請確保閱讀/學習以下主題。學習任何其他內(nèi)容可能會浪費您的時間。有些人學習的方式超出了他們需要的方式(花式圖算法,生成樹,A*等),因為他們認為這將使他們成為更好的工程師。我認為那完全是浪費時間。大多數(shù)采訪者自己都不記得這些話題。一旦找到理想的工作,就可以自己學習。不要浪費時間。只需關(guān)注下面的數(shù)據(jù)結(jié)構(gòu)和算法,僅此而已。

數(shù)據(jù)結(jié)構(gòu)

  • 動態(tài)陣列
  • 鏈表
  • 堆疊與排隊
  • 哈希表
  • 二進制搜索樹
  • 二進制堆和優(yōu)先級隊列
  • 圖表

算法

  • 位操作和數(shù)字-差異無符號與有符號
  • 排序穩(wěn)定性
  • 合并排序
  • 快速排序
  • 堆排序-就地排序以獲取O(1)空間
  • 二元搜尋
  • 排列
  • 子集
  • BFS圖
  • DFS圖
  • Dijkstra算法
  • 拓撲排序

準備工作

一旦您對上面的數(shù)據(jù)結(jié)構(gòu)和算法感到滿意,請多次進行以下練習(至少2–3次),直到您可以閉上眼睛進行練習。

  • 從頭開始實現(xiàn)ArrayList
  • 反向鏈接列表
  • 使用數(shù)組實現(xiàn)堆棧和隊列
  • 用簡單的哈希函數(shù)實現(xiàn)哈希表
  • 使用鄰接表實現(xiàn)圖,然后為BFS和DFS編寫函數(shù)。
  • 遞歸和迭代地編寫二進制搜索算法
  • 編寫合并排序算法
  • 編寫快速排序算法
  • 使用DFS(按順序,前順序和后順序-它們?nèi)咳齻€)和BFS二叉樹。

記住常見算法的時間和空間復雜性和了解這些重要的位操作技巧。這些可能是你入門生涯中最困難的時刻。一方面,我希望你認真對待所有這一切。另一方面,我希望你意識到自己會記住并珍惜這些時刻。在獲得夢想的工作之后,您實際上會錯過這些艱苦的工作和努力解決算法難題的寶貴時刻。