作者ericerix (我的帥,在於臉)
看板Soft_Job
標題[討論] 演算法不強,還有辦法在資工混下去嗎?
時間Thu Aug 12 22:30:35 2021
如題
我這陣子刷題主要環繞在 Codility 的 lesson上,
但是越到後面,總覺得題目越來越難,
不是說好是 lesson 嗎 QQ
原本規定自己一天寫一題,
結果好幾題坐在電腦前面一整天、都沒有想法...
刷 leetcode 也是,easy 想一下會出來,但 medium 有些會想超久,
不輸 Codility 的久,
我有問過前輩,說是如果不朝演算法工程師走的話,
其實不用每一題都自己想出來,
可以想一個小時左右,想不出來看個別人的解法,自己在寫一次這樣
但我覺得這樣就不是自己想出來的了,
就像我國中的時候,幾何學那塊就常常在問數學老師,
為什麼那個鬼地方畫一條輔助線就解出來了,你為什麼想得到
為什麼第一名的同學想得到,萬年老三的我想不到
我想這就是差距吧= =
偏題了,
我真心覺得我演算法不太行,我認為要自己想出來才是自己的
是我太嚴格
還是我真的
笨笨
555
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.184.208 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1628778638.A.E41.html
推 herrowui: 如果要爭第一名的工作,演算法當然越強越好,如果不是就 08/12 22:35
→ herrowui: 挑喜歡的專研 08/12 22:35
→ somefatguy: 看寫什麼吧,我很少用到演算法或數學 08/12 22:37
→ somefatguy: 尤其是數學,根本全忘光了 08/12 22:38
→ somefatguy: 不過我薪水沒300萬,僅供失敗例子參考 08/12 22:38
推 shiauji: 你太嚴格,題目都是要學高手的思路,因為別人比我們聰 08/12 22:42
→ shiauji: 明想的解法比較有效率,自己想結果想出一個time: O(N 08/12 22:42
→ shiauji: log N), space: O(N),但最佳解是t: O(N), s: O(1),那 08/12 22:42
→ shiauji: 花那麼久時間想一個垃圾解幹嘛?直接把聰明人的解法融 08/12 22:42
→ shiauji: 會貫通還比較實際,知識的累積就是這樣 08/12 22:42
推 longlyeagle: 只要搞清楚什麼時候用什麼方法解 是不是自己想出來 08/12 22:50
→ longlyeagle: 又不重要 還不如從別人解題思路多學一點 08/12 22:50
推 yamakazi: 刷題的正確方法是背書不是坐在哪邊想,遇到不會的就直接 08/12 22:51
→ yamakazi: 看解答,看懂後背起來跟GRE一樣 08/12 22:51
→ longlyeagle: 看多了之後 有時候遇到新題目自然也會有自己想的解法 08/12 22:51
→ yamakazi: 準備GRE時,看到不懂的題目你會坐在那邊想嗎?不會嘛。 08/12 22:52
→ yamakazi: 一定是直接看解答然後背下來。 08/12 22:52
→ leo08210917: 數學不是一樣 先教公式解 再教證明 08/12 22:56
→ leo08210917: 那些公式都是大老想出來推導出來的 懂怎麼用它就好 08/12 22:58
推 tnfshjcc: easy寫不出來應該真的是連語法基本功都不會 08/12 23:00
→ tnfshjcc: medium則是練多了就會快 偶爾還是會遇到一些想不出來的 08/12 23:01
推 js07150715: 就是要想很久才有練習的價值阿 如果你都不自己想 08/12 23:02
→ js07150715: 只會去抄別人想出來的 這樣面試過了實際工作要解決 08/12 23:02
→ tnfshjcc: medium只要會heap,union-find,dfs/bfs,簡單dp,treetrave 08/12 23:02
→ js07150715: 問題你解決的出來嗎? 08/12 23:02
→ tnfshjcc: 就能解80%mdium題 08/12 23:03
→ js07150715: 如果遇到別人沒解決過的問題沒得上網抄怎麼半 08/12 23:03
→ js07150715: 所以應該自己想一個簡單解 08/12 23:03
→ js07150715: 看看哪裡可以改進 慢慢改成最佳解 08/12 23:03
→ js07150715: 不是直接去看別人的最佳解 這樣什麼都沒學到 08/12 23:04
推 testPtt: 反正出來工作大部分時間都花在UI跟SQL 08/12 23:07
推 hackfox: 沒有要當演算法工程師的話,那些難題就沒那麼重要 08/12 23:09
→ leo08210917: 演算法工程師應該都天才等級的 普通人是有極限的 08/12 23:10
→ yyc1217: 你上數學課會糾結那些公式定理不是你本人想出來的嗎 08/12 23:25
→ yyc1217: 學會用那些演算法才是刷題的目的 背又如何 08/12 23:25
→ yyc1217: 數學公式可以背下來使用 也可以從零開始推導 08/12 23:25
→ worcdlo: 我寫題目卡住有時候都想好幾天耶。另外個人很不支持背題 08/12 23:30
→ worcdlo: 目,最好是看懂就把程式碼忘掉,用自己的理解再完成他。 08/12 23:30
→ worcdlo: 不知道這樣是好還是不好 08/12 23:30
推 knme: 個人覺得至少要能求解 再來求好 想不出來就參考 08/12 23:37
→ fr75: 87%都是寫CRUD 根本沒不用實作演算法= = 08/12 23:48
→ Gaogaigar: 你知道有很多東西都是一篇論文嗎… 08/12 23:57
→ Gaogaigar: 笨笨 08/12 23:57
推 asd123159: 推22樓。 08/13 00:05
→ asd123159: 另外關於工作上用不用得到演算法的問題,感覺很像學歷 08/13 00:05
→ asd123159: 有沒有用的問題。不是學歷沒用,是你的學歷沒用... 08/13 00:05
推 newbout: 我最近在138畢業的,班排倒數還是能過專業科目,雖然延 08/13 00:16
→ newbout: 畢兩年但只是自己心理狀況很差跟太混的,延畢的兩年認真 08/13 00:16
→ newbout: 唸之後就都全歐趴了,有些科分數也不差。 08/13 00:16
→ newbout: 而且也不是所有的課都很吃演算法 08/13 00:16
推 newbout: 啊我只看標題沒看內容就回了那一串,感覺偏題了 08/13 00:25
→ newbout: 不好意思 08/13 00:25
推 lukelove: 什麼自己想自己練 太沒效率了 這種就是刷 5分鐘想不到就 08/13 00:26
→ lukelove: 看答案 看完再自己寫一次 08/13 00:26
推 followwar: 知道最佳解的思路以及怎麼用就夠了 08/13 00:27
→ lukelove: 自己想 自己練 然後刷的題目不多 最後沒錄取 只能眼睜睜 08/13 00:27
→ lukelove: 看缺從手中溜走 08/13 00:27
→ followwar: 真正能發論文的全新演算法 可遇不可求 08/13 00:28
→ followwar: 即便博士畢的專家也要研究很久才有一個新算法出現 08/13 00:29
→ egogeorge: 輔助線需要運氣與時間,已被會考刪除......修正一下你 08/13 01:06
→ egogeorge: 對數學輔助線的誤解 08/13 01:06
推 jennya: 不要以為其他會寫的人是自己發明算法的,也都是學習以後 08/13 01:10
→ jennya: 觸類旁通。真心建議想一小時就看別人解法,然後立刻自己 08/13 01:10
→ jennya: 寫,然後過一個禮拜等你忘記以後再重新想重新寫。這就叫 08/13 01:10
→ jennya: 學習。 08/13 01:10
→ jennya: 輔助線也是,為什麼別人想得到,因為她有寫過相似題或她 08/13 01:12
→ jennya: 觸類旁通能力比你強啊,那你堅持不寫相似題,難怪你輸她 08/13 01:12
→ jennya: 。 08/13 01:12
推 BigCockman: 刷題是要你學會別人的算法 不是要你自己想算法... 08/13 01:20
→ BigCockman: 想得出來你還需要刷題找工作嗎? 08/13 01:20
→ baileegunlin: 想過就可以了,有想過後看答案比較容易記住 08/13 07:35
→ imjeffreylee: 刷題不是這樣的 龜一整天沒有意義 想半小時沒想法就 08/13 07:45
→ imjeffreylee: 直接看答案 看完以後完全搞懂 自己重寫一遍 下次看 08/13 07:45
→ imjeffreylee: 到類題你就有想法了 08/13 07:45
推 k798976869: 就是刷 其實就是一種變相的智力測驗 只是找工作的時候 08/13 07:48
→ k798976869: 直接做智力測驗在國外是違法的 08/13 07:49
推 brianhsu: 我出來工作用自己刻過的最高深的演算法是樹的 DFS / BFS 08/13 08:50
→ brianhsu: ,給你參考…… 08/13 08:50
推 brianhsu: BTW,我沒去過面試要刷題的公司,也是混進某 Y 公司了, 08/13 08:56
→ brianhsu: 刷題有刷題的用處,但也不是一定要刷題才能混飯吃的啦。 08/13 08:56
推 kiii210: 有些題目真的直接背答案就對了,像Kadane's Algorithm 08/13 09:11
→ kiii210: KMP之類的.. 08/13 09:11
→ kiii210: (看) 然後嘗試理解 08/13 09:12
推 deforest111: 有時候站在巨人肩膀上是快速正確又有效率的 08/13 09:29
推 wilson6405: 自己能想出來當然最好,不過別太鑽牛角尖 08/13 10:56
推 alihue: 那種自己想出來的不會跟你在同一個職缺競爭 別怕 08/13 11:10
推 Luos: 演算法最常用到時候就是面試 08/13 11:21
推 king22649: 跟國高中競賽一樣 一開始重點在刷 之後才是想 08/13 12:01
推 gofigure: 資工系 連工友都要熟讀CLRS 08/13 12:15
推 viper9709: 畫輔助線那個就標準的天份~有些東西真的是天生的差距 08/13 12:17
推 acgotaku: 這真的就是另類的智力測驗,智商高 就算用背的也贏過九成 08/13 13:38
→ acgotaku: 因為大部分的算法題都不實用,用在實際案子上難以debug 08/13 13:42
推 snaketsai: 來半導體公司,多數部門不用演算法 08/13 17:01
→ mcauther: 愛因斯坦也是看了馬克是威爾的 電磁學公式統合出來 08/13 20:54
推 testPtt: 我4覺得刷題不如把數學相關課程念好 08/13 22:32
→ RumiManiac: 八成是方法錯了,老實的把課本拿起來讀,讀懂了再來 08/14 04:08
→ RumiManiac: 解題,有些題目你想破頭也沒用 08/14 04:09
推 dalbuhr: 多玩就會了 08/14 09:40
→ dalbuhr: 我念了3年文組 覺得演算法超簡單 08/14 09:40
推 TheOneisNEO: 那樓上實作一下maximal matching 08/14 17:06
推 TheOneisNEO: 輔助線這點 那是國中數學才有的問題 高中開始使用解 08/14 17:49
→ TheOneisNEO: 析幾何就不太需要做些什麼神奇的輔助線了 都是有一套 08/14 17:50
→ TheOneisNEO: 方法去分析問題 08/14 17:50
噓 Coslate: 請98樓提出TSP in polynomial time解 08/17 16:35
推 justakidd: 應該要給自己時間限制 想不出來就看答案並學習思路 09/18 10:15
→ justakidd: 其實從小我們很多問題就都是學習前人的解法而不是自己 09/18 10:16
→ justakidd: 從頭解 09/18 10:16