[爆卦]LeetCode 刷題 策略是什麼?優點缺點精華區懶人包

為什麼這篇LeetCode 刷題 策略鄉民發文收入到精華區:因為在LeetCode 刷題 策略這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者pig2014 (Rocking Man)看板Soft_Job標題Re: [請益] 刷Leetc...


※ 引述《g001613001 (阿月)》之銘言:
: 最近因為想面的工作,有要求要先刷leetcode
: 刷完才建議過去面試。
: 所以開始接觸leetcode。
: 我目前是從簡單難度開始刷,但是好像刷的姿勢不對?
: 不過還不確定要怎麼解問題才是正確的作法。
: 原本我以為是寫出來的code,可以通過網站驗證,就好了。
: 但是問了前輩,他是說我目前解題方向有誤
: 不可能題目要求你做陣列排序,你就直接call array.sort()
: 不能直接用現成的函式,而是要自己實作sort的函式出來
: 這樣才有意義
: 不知道各位前輩在解題時或者面試考試時,也是都完全不用函式庫的東西
: 而是自己實作題目要求的函式出來的嗎?
: 或者請問有什麼正確刷題的姿勢呢?
: 先謝謝各位前輩分享經驗





刷了三百多題


應該有資格出來嘴一下



easy請找有意義的

不然一律刷medium

阿你說怎樣算有意義的easy?

其實你刷medium碰壁

再看一下那題的similar questions

如果裡面有easy

那題對你來說就是有意義的easy了

阿幹你會想說

那不是還是要先刷medium?




只刷medium就對了

只刷easy你還是快轉行吧



阿hard是三小?

通常就是把2-3個medium的技巧結合

就是hard了

不過有時腦子要轉幾圈

所以解hard真的是腦袋反應問題了


阿不過有時DP比較機掰

所以就是光一個機掰DP策略

就能構成一題hard

例如KMP或是Levenshtein


我解這種題目通常70%都是改用

自己改良式的hash

mem一樣

speed稍差一點點

但至少解法比較符合常人的邏輯

如果你真的這麼屌

能像我搞出這種解法

等到pass後

你真的去看各個分佈內的解答

你會發現沒有你這種解法

大家解法機會都千篇一律


這時你就算是脫俗了

由此也能推論

其實大部分的人都是看完解答才去解


阿另外25%解出DP hard的方式

基本就是跟正解一模一樣

不要問我怎麼想到的

就是智商夠然後刷得多


5%的DP hard就真的想三五天

想不出來直接看解答

背起來



除了DP類型

其他類型的hard

基本上花個半天亂解都能pass

所以DP真的是凡人碼農的夢魘



如果題目要求你

實現Data structures或algorithms

那一律不能用該項目的standard library

例如sort、trie、hash、blablabla...

如果不是這類題目

就能使用stl


不然題目問DP

你在那邊實現merge sort

重造輪子

智障喔



至於推廣

至少讓自己解法能pass

然後再參考所有最佳複雜度解

以及與最佳解差O(logN)的解

通通記起來

不要懷疑

會有幫助



然後幹

最後說說用啥語言刷

我認為只有C++以及Java可

py只有真‧RD可用

因為py真的太鳥

deque還要import

set與map(dict)居然是hash

list.pop(0)居然是O(N)

for速度比while微快

還有一堆垃圾潛規則



馬的新手用這種語言刷

你DS會清晰我輸你











最後


台灣軟體薪水真的太垃圾


跪求FAAGM來台灣多開缺

人又奴

薪水又低

又不會暴動

也不會動不動傷害民族情感



跪求996來台灣多開缺

阿不是中國的一省

連個branch都沒有成何體統




好了幹

大家認真刷起來

半導體業倒了以後

才不會變菲律賓

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.194.98 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1570793396.A.AB6.html
aria0520: 用c++ +110/11 19:31
aria0520: 看一堆python在那邊一行解實作題然後炫耀 就覺得頭好痛10/11 19:32
LinuxKernel: 台灣這種薪水 還要刷這麼累的話 想起來挺可悲的XD10/11 19:34
hsnuyi: LC就是要配著大二修DS跟Algo時刷 修完大概也刷了不少了10/11 20:05
brovet: easy可以拿來練信心 科科10/11 20:13
hsnuyi: 不過說實在的 這系列文之前有個EE書卷默默推說hard畫畫圖10/11 20:15
hsnuyi: 幾分鐘就可解 這人是真的強 但不知為啥面G一直上不了 所以10/11 20:15
hsnuyi: 刷LC夠了就好 之後就該補別的了 有時不是專業問題10/11 20:15
yamakazi: 優文給推10/11 20:21
maxqq: 認真推一個10/11 20:25
jass970991: hard有些是真的不難,有些真的難到靠北10/11 20:27
aria0520: 我是覺得hard常常比medium簡單耶10/11 20:33
aria0520: 如果有繞到題目正確的思路上就很簡單10/11 20:34
aria0520: medium比較像扎實的難10/11 20:34
qpalwosk: 感謝分享10/11 20:51
SFMAndroid: 推實用10/11 21:28
dddingnan: 推實用10/11 21:59
GGFACE: 我覺得hard常常比easy簡單夜10/11 22:02
alan23273850: 優文給推 文筆好幽默10/11 22:31
ghostreporty: python精通了 刷LC會變有效率多了10/11 22:32
clamperni: XD10/11 22:54
benben994: 刷到爆氣喔XDD 10/11 22:54
kkbbs: 其實可以偶爾週末來比個賽10/11 22:59
ekids1234: 笑死 推10/11 23:07
senjor: 個人覺得程式寫到後面難不難的差別是要花多久寫,不是解不10/11 23:07
senjor: 解得出來。10/11 23:08
g5637128: 推XD10/11 23:21
aria0520: 前陣子比較閒 每周末都有比個賽 不錯玩10/11 23:24
JK520nsk: 推推10/11 23:28
yyhsiu: 有繞到正確思路上是哪題難了啦…什麼屁話10/11 23:29
pkro12345: 很怒喔10/12 00:51
G888888: 有一次把hard解完 讓我懷疑人生10/12 00:55
asadman1523: 推10/12 01:09
invidia: 感謝分享 原po的文章都很猛10/12 01:18
f422661: 推10/12 01:32
aria0520: 不是屁話 只是你理解能力不夠 ㄏㄏ10/12 01:45
aria0520: 這樣舉例 hard常常是卡在找不對思路 只要找對了實作10/12 01:46
aria0520: 往往很容易 medium則是實作通常會有一定複雜度10/12 01:47
aria0520: 也就是花在找思路 跟實作的力氣都是中等10/12 01:47
javatea: 只會刷題的工程師 最後還不是奴工 = =a 台灣可以做得更好10/12 04:10
j1988922: 推10/12 05:02
y956403: 推薦像我一樣的菜雞可以去打週賽 一開始刷easy覺得難 但10/12 05:08
y956403: 是開始玩週賽後基本easy都十分鐘最多就解掉 medium也會開10/12 05:08
y956403: 始有辦法解 會比較有成就感 10/12 05:08
lion741205: 簡單來說 想把DS學好 不適合用py; 但同樣的java很冗10/12 08:23
lion741205: 不適合學algorithm10/12 08:23
lemon651: java的ArrayList remove(0)不是也是O(n)嗎?10/12 08:28




這不回真的不行

所以人家很嚴謹的跟你說了

它是“Array”List

List interface並沒有規定複雜度

阿如果不確定

ArrayList跟LinkedList的差異




其實可以多念點書

文學類型的那種


phe6689: 只刷easy真的是小學生的level10/12 10:17
strlen: 刷這個台灣95%的工作都用不到的東西XDDD10/12 10:23
gocreating: u質文10/12 10:23
gmoz: u質XD10/12 10:50
aria0520: 刷這個很好玩啊 我就是當休閒娛樂 兼練手感10/12 11:11
qazxws: 台灣只有g跟m會考leetcode 刷起來cp值偏低10/12 11:52
aria0520: 不只啦 群暉阿 趨勢阿 mixerbox 還有各式新創都很愛考10/12 11:54
※ 編輯: pig2014 (111.251.194.58 臺灣), 10/12/2019 12:01:09
new122851: 面試考五題 全部空白也不會怎樣 講求的是談吐 處理事情10/12 12:32
new122851: 的方式 架構的理解 分析spec10/12 12:32
x000032001: 不少公司會先丟codility線上測驗吧 跟leetcode差不多10/12 13:40
JingJing00: 用rust跟kotlin刷 順便學新語言10/12 15:34
NTUCS5566: 考五題都空白的確不會怎樣啊 一定還有下一間可以面XDD10/12 17:13
lemon651: 受教受教 如果是要討論implementation的話LinkedList為10/12 17:44
lemon651: 什麼不是跟deque比呢?還有Java的LinkedList也要import10/12 17:44
lemon651: 為什麼deque要import就不行呢?不好意思 剛寫程式幾個10/12 17:44
lemon651: 月不太熟悉10/12 17:44


List又不具random-access特性

跟deque比根本是蜘蛛比昆蟲

不能長的像功能像就瞎比


重點不是需不需要import

而是一致性問題

同樣是DS

要就通通import

要就通通primitive


wheels: py list 不就是 dynamic arrays 嗎?這樣 pop(0) 不是 n10/12 19:50
wheels: 要是啥?10/12 19:50

你生下來時

就知道py list = dynamic arr是嗎?

那為啥不取名叫arr或darr

那我想用linkedlist實現queue怎麼辦

你生下來時

就知道要另外import是嗎?


我已經說了

py問題就是太多潛規則

只適合觀念清晰的人

你自己懂潛規則

不代表

潛規則對新手就是理所當然的


DLHZ: 不錯XDD10/12 20:03
Mtcat: 1110/12 22:36
dreamnook: 這篇意外受用www 推一個10/13 10:35
ikai99: 花了錢買premium, 結果還沒刷完 10/13 10:56
ikai99: 另外一家的offer已經拿到了,就沒動力刷了 10/13 10:57
※ 編輯: pig2014 (111.251.194.58 臺灣), 10/13/2019 11:27:43
iamOsaka: 推原PO UCB跟普林斯頓的DS跟演算法就用JAVA上 有問題嗎? 10/13 16:40
shiauji: www 10/13 18:26
wheels: 我生下來時是不知道啦,但我第一次看 tutorial 時就知道 10/13 18:59
wheels: 了,這種事本來第一次看就會知道了吧 = = 10/13 18:59
y956403: 樓上真厲害! 10/13 22:39
senjor: 樓樓上真厲害! 10/14 00:45
lyuping: 感謝分享 10/14 02:18
lyuping: 刷題夯阿,反正考試都上網找題的... 10/14 02:22
lyuping: 真心覺得面試官也未必知道他們在考啥吧 10/14 02:23
internetms52: 推 10/14 08:35
howar31: 這篇不拜一下不行 10/14 10:44
davidpanda: 其實刷easy就夠解決大部分的公司了... 10/14 11:48
davidpanda: 台灣真的問到medium/hard的公司沒那麼多 10/14 11:49
davidpanda: 通常是FLAG等級才比較敢問medium/hard 10/14 11:51
usoko: 推 10/14 12:53
jackyT: Leetcode的DP會有那種ACM很不舒服的三維壓縮到一維的DP嗎 10/16 01:15
siriusu: 推 10/18 23:10
siriusu: 但我還是覺得 java 最常用的 list 就是 arraylist 最常 10/18 23:11
siriusu: 用的 map/set 就是 hash 所以 java 出身的人也會覺得 py 10/18 23:11
siriusu: thon 的選擇沒那麼不合理啊 10/18 23:11
siriusu: fang 都不一定會問到 medium 呢 問 easy 的也所在多有 10/18 23:14
siriusu: 但我覺得這篇建議的做法才是有效率的啦 10/18 23:14
ruthertw: 想要等到半導體業倒?你等到海枯石爛吧! 10/19 17:25
ThisRay: 推 10/21 20:11
Swartz: 偏見太多, 不懂python在那邊裝懂 11/07 15:58
aacs0130: 推,不過一開始可以刷easy建立信心,如果algo, ds忘很多 11/12 00:31

你可能也想看看

搜尋相關網站