[討論] 演算法不強,還有辦法在資工混下去嗎?
如題
我這陣子刷題主要環繞在 Codility 的 lesson上,
但是越到後面,總覺得題目越來越難,
不是說好是 lesson 嗎 QQ
原本規定自己一天寫一題,
結果好幾題坐在電腦前面一整天、都沒有想法...
刷 leetcode 也是,easy 想一下會出來,但 medium 有些會想超久,
不輸 Codility 的久,
我有問過前輩,說是如果不朝演算法工程師走的話,
其實不用每一題都自己想出來,
可以想一個小時左右,想不出來看個別人的解法,自己在寫一次這樣
但我覺得這樣就不是自己想出來的了,
就像我國中的時候,幾何學那塊就常常在問數學老師,
為什麼那個鬼地方畫一條輔助線就解出來了,你為什麼想得到
為什麼第一名的同學想得到,萬年老三的我想不到
我想這就是差距吧= =
偏題了,
我真心覺得我演算法不太行,我認為要自己想出來才是自己的
是我太嚴格
還是我真的
笨笨
555
--
如果要爭第一名的工作,演算法當然越強越好,如果不是就
挑喜歡的專研
看寫什麼吧,我很少用到演算法或數學
尤其是數學,根本全忘光了
不過我薪水沒300萬,僅供失敗例子參考
你太嚴格,題目都是要學高手的思路,因為別人比我們聰
明想的解法比較有效率,自己想結果想出一個time: O(N
log N), space: O(N),但最佳解是t: O(N), s: O(1),那
花那麼久時間想一個垃圾解幹嘛?直接把聰明人的解法融
會貫通還比較實際,知識的累積就是這樣
只要搞清楚什麼時候用什麼方法解 是不是自己想出來
又不重要 還不如從別人解題思路多學一點
刷題的正確方法是背書不是坐在哪邊想,遇到不會的就直接
看解答,看懂後背起來跟GRE一樣
看多了之後 有時候遇到新題目自然也會有自己想的解法
準備GRE時,看到不懂的題目你會坐在那邊想嗎?不會嘛。
一定是直接看解答然後背下來。
數學不是一樣 先教公式解 再教證明
那些公式都是大老想出來推導出來的 懂怎麼用它就好
easy寫不出來應該真的是連語法基本功都不會
medium則是練多了就會快 偶爾還是會遇到一些想不出來的
就是要想很久才有練習的價值阿 如果你都不自己想
只會去抄別人想出來的 這樣面試過了實際工作要解決
medium只要會heap,union-find,dfs/bfs,簡單dp,treetrave
問題你解決的出來嗎?
就能解80%mdium題
如果遇到別人沒解決過的問題沒得上網抄怎麼半
所以應該自己想一個簡單解
看看哪裡可以改進 慢慢改成最佳解
不是直接去看別人的最佳解 這樣什麼都沒學到
反正出來工作大部分時間都花在UI跟SQL
沒有要當演算法工程師的話,那些難題就沒那麼重要
演算法工程師應該都天才等級的 普通人是有極限的
你上數學課會糾結那些公式定理不是你本人想出來的嗎
學會用那些演算法才是刷題的目的 背又如何
數學公式可以背下來使用 也可以從零開始推導
我寫題目卡住有時候都想好幾天耶。另外個人很不支持背題
目,最好是看懂就把程式碼忘掉,用自己的理解再完成他。
不知道這樣是好還是不好
個人覺得至少要能求解 再來求好 想不出來就參考
87%都是寫CRUD 根本沒不用實作演算法= =
你知道有很多東西都是一篇論文嗎…
笨笨
推22樓。
另外關於工作上用不用得到演算法的問題,感覺很像學歷
有沒有用的問題。不是學歷沒用,是你的學歷沒用...
我最近在138畢業的,班排倒數還是能過專業科目,雖然延
畢兩年但只是自己心理狀況很差跟太混的,延畢的兩年認真
唸之後就都全歐趴了,有些科分數也不差。
而且也不是所有的課都很吃演算法
啊我只看標題沒看內容就回了那一串,感覺偏題了
不好意思
什麼自己想自己練 太沒效率了 這種就是刷 5分鐘想不到就
看答案 看完再自己寫一次
知道最佳解的思路以及怎麼用就夠了
自己想 自己練 然後刷的題目不多 最後沒錄取 只能眼睜睜
看缺從手中溜走
真正能發論文的全新演算法 可遇不可求
即便博士畢的專家也要研究很久才有一個新算法出現
輔助線需要運氣與時間,已被會考刪除......修正一下你
對數學輔助線的誤解
不要以為其他會寫的人是自己發明算法的,也都是學習以後
觸類旁通。真心建議想一小時就看別人解法,然後立刻自己
寫,然後過一個禮拜等你忘記以後再重新想重新寫。這就叫
學習。
輔助線也是,為什麼別人想得到,因為她有寫過相似題或她
觸類旁通能力比你強啊,那你堅持不寫相似題,難怪你輸她
。
刷題是要你學會別人的算法 不是要你自己想算法...
想得出來你還需要刷題找工作嗎?
想過就可以了,有想過後看答案比較容易記住
刷題不是這樣的 龜一整天沒有意義 想半小時沒想法就
直接看答案 看完以後完全搞懂 自己重寫一遍 下次看
到類題你就有想法了
就是刷 其實就是一種變相的智力測驗 只是找工作的時候
直接做智力測驗在國外是違法的
我出來工作用自己刻過的最高深的演算法是樹的 DFS / BFS
,給你參考……
BTW,我沒去過面試要刷題的公司,也是混進某 Y 公司了,
刷題有刷題的用處,但也不是一定要刷題才能混飯吃的啦。
有些題目真的直接背答案就對了,像Kadane's Algorithm
KMP之類的..
(看) 然後嘗試理解
有時候站在巨人肩膀上是快速正確又有效率的
自己能想出來當然最好,不過別太鑽牛角尖
那種自己想出來的不會跟你在同一個職缺競爭 別怕
演算法最常用到時候就是面試
跟國高中競賽一樣 一開始重點在刷 之後才是想
資工系 連工友都要熟讀CLRS
畫輔助線那個就標準的天份~有些東西真的是天生的差距
這真的就是另類的智力測驗,智商高 就算用背的也贏過九成
因為大部分的算法題都不實用,用在實際案子上難以debug
來半導體公司,多數部門不用演算法
愛因斯坦也是看了馬克是威爾的 電磁學公式統合出來
我4覺得刷題不如把數學相關課程念好
八成是方法錯了,老實的把課本拿起來讀,讀懂了再來
解題,有些題目你想破頭也沒用
多玩就會了
我念了3年文組 覺得演算法超簡單
那樓上實作一下maximal matching
輔助線這點 那是國中數學才有的問題 高中開始使用解
析幾何就不太需要做些什麼神奇的輔助線了 都是有一套
方法去分析問題
請98樓提出TSP in polynomial time解
應該要給自己時間限制 想不出來就看答案並學習思路
其實從小我們很多問題就都是學習前人的解法而不是自己
從頭解
63
Re: [請益] 28歲理工碩畢值得投資國外第二碩嗎?我建議你朋友先想清楚他拚第二個碩士的理由是什麼 想要的東西清楚了 就會知道有那些選項 往前進的時候也會出現很多新的機會 讓你隨時調整方向的 但每次都要審慎評估並且重新規劃自己的職涯方向 以我自己為例子34
[請益] Leetcode rating 卡在 1700~1800我開始寫題目(不敢說到"刷")大概是從半年前開始 打到目前共三十多場 4/4的次數不超過五次 大部分單場解出的題目落到2~3題 有時甚至還會只解1題 Orz rating有到1800初頭 但有時狀況不好或當月練題比較鬆懈 有時又會掉回17xx 我剛開始是按照topic來練29
[討論] 刷題都怎麼自學看到大家在討論自學的流程 也想上來問一下意見 我目前在刷題 Easy題就有點卡卡的 字串陣列相關的因為平常有在碰可以解得掉 因為是非本科以前沒學過資結演算法9
Re: 不想唸碩士了,想去刷題個人覺得一個簡單的判斷方式 你刷的一百題是什麼為主? easy - medium > 好好把碩士唸完 hard > 隨便你 理由11
[北美] Leetcode刷起來 分享刷題之我見之前找工作時我恨透刷題了 說實在話 Leetcode上面medium以上的題目 很多並不是你不會 而是因為你沒練過 在一輪面試(扣掉閒聊大概只有40分鐘)根本寫不出來 最後下場就是落得去外包公司吃屎 蹲了三年實在不願意一輩子吃屎 只好開始跟大家一起刷題4
[問卦] LeetCode刷幾題能去挑戰面試欸欸 LeetCode 不少人面試前會去刷題 目前肥肥我還沒工作需求拉 所以我是學新語言時刷easy的題目來練習語法之類的4
Re: [討論] 軟體工作真的有需要刷題嗎?我是非本科,以前聽過很多人的說法說刷題甚至資料結構演算法根本只是應付面試用,一點都不重要,進去公司就用不到了 但我必須說這種說法不完全正確。 我在進現在這家公司前,刷了600題,經典的題目大概來回做了10遍 來這家公司後,我接到了一個很複雜的任務,大概是倉儲物料的分派系統,某個物料根據某些邏輯所以被分配到哪個廠區,中間很多特殊需求但我不想講太多 為了讓程式高效能化,我手寫了樹的節點,用BFS和DFS來遍歷(不同用途),節點用priority queue排序,然後也用到deque來資料處理,map就不說了,太常用了