1. 程式人生 > >半月記2018.11.17

半月記2018.11.17

半月記2018.11.17

這半個月在工作上沒有百分之百投入,所以自己的時間多一些,但是效率並不高,後面下一版本的工作會展開,自己的時間就少一些,後面要強迫自己高效。

原計劃

​ 原本打算年前,即十、十一、十二和一月份四個月集中火力幹資料結構與演算法,只做easy和medium難度的題目,每天三題,年前可完成360題到400題左右。年後三月中旬以前完成100題,這樣總題數目大概在450左右。

leetcode現在有933題,hard難度的約佔15%,鎖定的題目也有大概18%,所以還剩650道左右。

​ 除刷題外,作業系統、網路也有很多要看。另外就是最近想試一試big data相關的東西,做底層的系統軟體風險高、難度大,所以想接觸下這塊。所以刷題的進度要加快了,年前必須達到450道左右。

現狀

​ 刷題大概有一個月了,現在總共刷了88到題,主要集中在array和link list。正確率不高,每到題只是按照自己能想到的最好解法來解決,沒有追求極致的效率。

image

linked list

​ 問題比較少,總共34到題,以完成19道,基本是一次ac。

​ 有下列幾道題是需要注意的:

  1. 逆序,這個屬於基本功,很多問題都要在這個題目的基礎上完成;
  2. 判斷是否有環,以及其升級版,判斷有環,並且給出位置(沒有做出來);
  3. O(nlogn) 原地排序(也沒有作出來);
  4. deep copy linked list(沒做出來);

還有easy題目沒有做,如果有關鍵的再補充到這裡。作linked list題目,有幾個小技巧:

  1. dummy node,避免head的特殊處理;
  2. 快慢指標:在判斷是否有環,刪除最後第k個node這類題目中很有用;

array

​ 這塊需要很大篇幅總結,明天再行補充。

下一步

​ 接下來,計劃把queue、stack和部分hash table的題目作掉。希望未來半個月能突破80道。