Re: [請益] 刷Leetcode的正確姿勢?

作者: pig2014 (Rocking Man)   2019-10-11 19:29:54
※ 引述《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都沒有成何體統
好了幹
大家認真刷起來
半導體業倒了以後
才不會變菲律賓
作者: aria0520 (紫)   2019-10-11 19:31:00
用c++ +1看一堆python在那邊一行解實作題然後炫耀 就覺得頭好痛
作者: LinuxKernel (Linus Torvalds)   2019-10-11 19:34:00
台灣這種薪水 還要刷這麼累的話 想起來挺可悲的XD
作者: hsnuyi (羊咩咩~)   2019-10-11 20:05:00
LC就是要配著大二修DS跟Algo時刷 修完大概也刷了不少了
作者: brovet (阿搭 原來我有小天使...)   2019-10-11 20:13:00
easy可以拿來練信心 科科
作者: hsnuyi (羊咩咩~)   2019-10-11 20:15:00
不過說實在的 這系列文之前有個EE書卷默默推說hard畫畫圖幾分鐘就可解 這人是真的強 但不知為啥面G一直上不了 所以刷LC夠了就好 之後就該補別的了 有時不是專業問題
作者: yamakazi (大安吳彥祖)   2019-10-11 20:21:00
優文給推
作者: maxqq (max)   2019-10-11 20:25:00
認真推一個
作者: jass970991 (半糖綠假面超人)   2019-10-11 20:27:00
hard有些是真的不難,有些真的難到靠北
作者: aria0520 (紫)   2019-10-11 20:33:00
我是覺得hard常常比medium簡單耶如果有繞到題目正確的思路上就很簡單medium比較像扎實的難
作者: qpalwosk ( )   2019-10-11 20:51:00
感謝分享
作者: SFMAndroid (安卓發送)   2019-10-11 21:28:00
推實用
作者: dddingnan   2019-10-11 21:59:00
推實用
作者: GGFACE (ggface)   2019-10-11 22:02:00
我覺得hard常常比easy簡單夜
作者: alan23273850   2019-10-11 22:31:00
優文給推 文筆好幽默
作者: ghostreporty (ghost)   2019-10-11 22:32:00
python精通了 刷LC會變有效率多了
作者: clamperni (肥宅牛牛)   2019-10-11 22:54:00
XD
作者: benben994 (晨宇)   2019-10-11 22:54:00
刷到爆氣喔XDD
作者: kkbbs (逃離這裡)   2019-10-11 22:59:00
其實可以偶爾週末來比個賽
作者: ekids1234 (∵:☆星痕╭☆)   2019-10-11 23:07:00
笑死 推
作者: senjor (哞哞)   2019-10-11 23:07:00
個人覺得程式寫到後面難不難的差別是要花多久寫,不是解不解得出來。
作者: g5637128 (幫QQ)   2019-10-11 23:21:00
推XD
作者: aria0520 (紫)   2019-10-11 23:24:00
前陣子比較閒 每周末都有比個賽 不錯玩
作者: JK520nsk (FoTw_Jerry)   2019-10-11 23:28:00
推推
作者: yyhsiu (hsiu)   2019-10-11 23:29:00
有繞到正確思路上是哪題難了啦…什麼屁話
作者: pkro12345 (席龍)   2019-10-12 00:51:00
很怒喔
作者: G888888   2019-10-12 00:55:00
有一次把hard解完 讓我懷疑人生
作者: asadman1523 (黑炭)   2019-10-12 01:09:00
作者: invidia (莎莉竟然會飛)   2019-10-12 01:18:00
感謝分享 原po的文章都很猛
作者: f422661 (恩恩)   2019-10-12 01:32:00
作者: aria0520 (紫)   2019-10-12 01:45:00
不是屁話 只是你理解能力不夠 ㄏㄏ這樣舉例 hard常常是卡在找不對思路 只要找對了實作往往很容易 medium則是實作通常會有一定複雜度也就是花在找思路 跟實作的力氣都是中等
作者: javatea (齁齁)   2019-10-12 04:10:00
只會刷題的工程師 最後還不是奴工 = =a 台灣可以做得更好
作者: j1988922 (jason)   2019-10-12 05:02:00
作者: y956403 (尋歡)   2019-10-12 05:08:00
推薦像我一樣的菜雞可以去打週賽 一開始刷easy覺得難 但是開始玩週賽後基本easy都十分鐘最多就解掉 medium也會開始有辦法解 會比較有成就感
作者: lion741205 (獅子)   2019-10-12 08:23:00
簡單來說 想把DS學好 不適合用py; 但同樣的java很冗不適合學algorithm
作者: lemon651 (小明)   2019-10-12 08:28:00
java的ArrayList remove(0)不是也是O(n)嗎?
作者: phe6689 (宏)   2019-10-12 10:17:00
只刷easy真的是小學生的level
作者: strlen (strlen)   2019-10-12 10:23:00
刷這個台灣95%的工作都用不到的東西XDDD
作者: gocreating (小平)   2019-10-12 10:23:00
u質文
作者: gmoz ( This can't do that. )   2019-10-12 10:50:00
u質XD
作者: aria0520 (紫)   2019-10-12 11:11:00
刷這個很好玩啊 我就是當休閒娛樂 兼練手感
作者: qazxws (QAZ)   2019-10-12 11:52:00
台灣只有g跟m會考leetcode 刷起來cp值偏低
作者: aria0520 (紫)   2019-10-12 11:54:00
不只啦 群暉阿 趨勢阿 mixerbox 還有各式新創都很愛考
作者: new122851 (未若柳絮因風起)   2019-10-12 12:32:00
面試考五題 全部空白也不會怎樣 講求的是談吐 處理事情的方式 架構的理解 分析spec
作者: x000032001 (版廢了該走了)   2019-10-12 13:40:00
不少公司會先丟codility線上測驗吧 跟leetcode差不多
作者: JingJing00 (晶晶)   2019-10-12 15:34:00
用rust跟kotlin刷 順便學新語言
作者: NTUCS5566 (給力點)   2019-10-12 17:13:00
考五題都空白的確不會怎樣啊 一定還有下一間可以面XDD
作者: lemon651 (小明)   2019-10-12 17:44:00
受教受教 如果是要討論implementation的話LinkedList為什麼不是跟deque比呢?還有Java的LinkedList也要import為什麼deque要import就不行呢?不好意思 剛寫程式幾個月不太熟悉
作者: wheels   2019-10-12 19:50:00
py list 不就是 dynamic arrays 嗎?這樣 pop(0) 不是 n要是啥?
作者: DLHZ ( )   2019-10-12 20:03:00
不錯XDD
作者: Mtcat (山地貓)   2019-10-12 22:36:00
11
作者: dreamnook (亞龍)   2019-10-13 10:35:00
這篇意外受用www 推一個
作者: ikai99 (18歲的天空)   2019-10-13 10:56:00
花了錢買premium, 結果還沒刷完另外一家的offer已經拿到了,就沒動力刷了
作者: iamOsaka (歐沙卡)   2019-10-13 16:40:00
推原PO UCB跟普林斯頓的DS跟演算法就用JAVA上 有問題嗎?
作者: shiauji (消極)   2019-10-13 18:26:00
www
作者: wheels   2019-10-13 18:59:00
我生下來時是不知道啦,但我第一次看 tutorial 時就知道了,這種事本來第一次看就會知道了吧 = =
作者: y956403 (尋歡)   2019-10-13 22:39:00
樓上真厲害!
作者: senjor (哞哞)   2019-10-14 00:45:00
樓樓上真厲害!
作者: lyuping (湘蘭)   2019-10-14 02:18:00
感謝分享
作者: internetms52 (Oaide)   2019-10-14 08:35:00
作者: howar31 (Howar31)   2019-10-14 10:44:00
這篇不拜一下不行
作者: davidpanda (panda)   2019-10-14 11:48:00
其實刷easy就夠解決大部分的公司了...台灣真的問到medium/hard的公司沒那麼多通常是FLAG等級才比較敢問medium/hard
作者: usoko (time to face reality)   2019-10-14 12:53:00
作者: jackyT (Ubuntu5566)   2019-10-16 01:15:00
Leetcode的DP會有那種ACM很不舒服的三維壓縮到一維的DP嗎
作者: siriusu (かがみは俺の嫁。)   2019-10-18 23:10:00
推但我還是覺得 java 最常用的 list 就是 arraylist 最常用的 map/set 就是 hash 所以 java 出身的人也會覺得 python 的選擇沒那麼不合理啊fang 都不一定會問到 medium 呢 問 easy 的也所在多有但我覺得這篇建議的做法才是有效率的啦
作者: ruthertw (小葉老大)   2019-10-19 17:25:00
想要等到半導體業倒?你等到海枯石爛吧!
作者: ThisRay (TR)   2019-10-21 20:11:00
作者: Swartz (I_Am_Swatz)   2019-11-07 15:58:00
偏見太多, 不懂python在那邊裝懂

Links booklink

Contact Us: admin [ a t ] ucptt.com