作者ericerix (我的帥,在於臉)
看板Soft_Job
標題[討論] 刷leetcode的語言選擇
時間Sat Feb 27 10:24:25 2021
大家好,我文組跨考資工,目前在讀研究所
由於大學期間沒有刷過leetcode,所以趕緊來惡補一下,
加上未來想朝純軟體工作發展,leetcode似乎不可或缺。
但是,最近有個疑惑是,leetcode要用什麼語言好?
目前大部分都用python,近期想使用C,原因如下:
python內部有很方便地處理字串方法以及資料結構,
有時候題目要求的內容跟刻那些東西無關,直接引用就好,
重要的是能解出問題的方法。
而使用C則是單純想熟悉C語言,未來工作寫C比較賺(?
而且之前爬文,有看到說新手用python寫不利,原因忘記了
正當用C寫得好好的時候,我又突然想到:用C做leetcode的人很少,
這樣比較performance的時候,會不會比較失準?
python寫得人多,競爭者自然多,
也就是說,用python寫比較能看出自己的做法是否有競爭力
還是我想多了?自己爽就好
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.190.184 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1614392668.A.5AF.html
→ DrTech: 你要先看你要找哪類工作。不然浪費時間而已。 02/27 10:39
推 shter: 爽就好,我用 javascript,因為我開發 browser + node.js 02/27 10:39
推 yamakazi: 用C要自己刻map嗎? 02/27 10:44
推 ko27tye: 你想走韌體 用python刷就是浪費時間阿 走web用C寫也是 02/27 10:47
→ DrTech: 不是學了C,就能去IC設計或系統廠,而是他們本身有其他專 02/27 10:51
→ DrTech: 業才能去該公司。顧好研究所本業,根據未來工作方向學習才 02/27 10:51
→ DrTech: 快。例如,如果做機器學習的研究與工作,才是去刷python, 02/27 10:51
→ DrTech: 萬一你是要去做前端,後端,APP,刷python 或C做什麼呢 02/27 10:51
推 h129875230: 你先想好要進科技業還是軟體業 然後科技業有學歷歧視 02/27 10:52
→ h129875230: 以上 02/27 10:52
→ DrTech: 如果是要前後端,APP工作,你連續兩篇,學習重點放錯了喔 02/27 10:57
→ DrTech: 。 02/27 10:57
推 LordCHTsai: 會考leetcode的公司通常不在乎語言 02/27 11:03
→ LordCHTsai: 用built-in method可以解的題目太簡單,也不會考 02/27 11:04
推 BlacksPig: 先確定你未來就業方向是否一定要刷 02/27 11:13
→ BlacksPig: 不是全部公司都需要刷 02/27 11:14
→ ericrobin: 通常會有幾個語言給你選 碰上指定的話大不了就放棄 02/27 11:33
→ ericrobin: 沒有什麼不會考的吧= = 排列組合那種會叫你自己寫 02/27 11:35
→ ericrobin: LRU用python也是有結構可秒解 但也是很常考 02/27 11:36
→ ericrobin: 然後用C寫Leetcode是時間太多嗎= = 02/27 11:40
推 mickeyha: LRU用Java也有結構可以秒解 02/27 11:47
推 aidansky0989: 珍惜生命請用py刷 02/27 11:51
推 kyrie77: 用C刷我只能respect,保重XD 02/27 12:14
推 tig4605246: 哥,你要的是專精某個領域的知識。語言只是工具 02/27 12:14
推 eric820715: 用C寫會瘋掉,第一題two sum你就可以感覺到了。c還要 02/27 12:15
→ eric820715: 先建struct,python一行hash_table=dict()就解決 02/27 12:15
推 eric820715: 如果時間足夠我覺得可以python寫個100題左右 02/27 12:20
→ eric820715: 這時你看到題目就會知道大概有哪些方法,複雜度如何 02/27 12:20
→ eric820715: 然後再試著用c語言寫看看,因為這時你只要專注如何用 02/27 12:20
→ eric820715: C實現你的想法。 02/27 12:20
→ Yuan: 寫C比較賺?! 02/27 12:28
推 testPtt: 其實老闆不寫程式都會聚焦在美美的UI 錄取率還蠻高的 02/27 12:30
推 j0958322080: 想熟悉語法用 C 寫,拼題數用 python 02/27 12:33
推 wxywxywxy: 你應該先訂目標 再決定語言 不是覺得好像需要去學 02/27 13:09
推 cuteSquirrel: Jave, C++, Python 的STL比較充足 02/27 13:33
→ cuteSquirrel: Java 02/27 13:34
→ wawi2: java. c++. 挑一個 02/27 13:44
→ kleinfour: 用最熟悉的就好 leetcode主要還是練算法 02/27 14:03
→ kleinfour: 很多語言特性都用不上 02/27 14:05
→ kleinfour: performance也不用管 題數多類型廣才重要 02/27 14:06
→ wawi2: performance不用管? excuse me? 02/27 14:15
→ meowyih: 樓樓上說的是script vs native或是native vs vm的 02/27 14:24
→ meowyih: performance,樓上說的是algorithm big-o 的performance 02/27 14:24
→ meowyih: 雖然是雞同鴨講,但是火藥味已經出來了,放連假的何必勒~ 02/27 14:25
→ askaleroux: C++首選 02/27 14:25
→ askaleroux: 用C寫只去找自己麻煩 02/27 14:25
→ askaleroux: 所以Google問一堆白板題結果只是一堆embedded缺 也是 02/27 14:26
→ askaleroux: 很問號 02/27 14:26
推 lturtsamuel: rust 02/27 14:40
噓 final01: 如果只是要練習演算法的確效能可以先不看啊,有問題嗎 02/27 14:43
推 stupid0319: 能run就好了,請客戶vm效能開到最大就好了 02/27 15:00
噓 meokay: 現在的風氣真的是讓人佩服 02/27 15:29
推 hanshsu: 你還在實作sort 別人可能已經寫完十題了 02/27 15:38
→ hanshsu: 話說我m同學說他已經好幾年沒寫扣了 也才三十初 寫c好賺 02/27 15:39
→ hanshsu: 嗎? 不見得吧 02/27 15:39
推 stupid0319: 珍惜生命,遠離C語言 02/27 16:02
推 taffy128s: 本科:吸加加 非本:拍桑 淺見 02/27 16:08
推 hegemon: 笑死,用C刷題怎麼了嗎?一堆菜比八 02/27 16:10
→ hegemon: 高頻交易商用一堆C,薪資絕對屌打蛇仔 02/27 16:11
推 TheOneisNEO: c有內建sort()可以用啊 like this: 02/27 16:32
推 lturtsamuel: 演算法第一堂課就在教複雜度分析 有人說練演算法不用 02/27 16:34
→ lturtsamuel: 管效能 是反串還是?? 02/27 16:34
→ lturtsamuel: 還在c語言沒有sort qsort沒聽過喔 笑死 02/27 16:35
推 alihue: 他是說刷題只要管演算法效能 不用管語言的效能吧... 02/27 16:47
推 drajan: 挑你最擅長的語言就好 重點是解題的思路 02/27 16:49
→ shiauji: 其實能用C 刷題的才是高手...... 02/27 17:07
推 s06i06: c++ 02/27 18:02
推 bill1992: 哪有人用c再刷 競賽網站九成都c++ 02/27 18:12
→ DrTech: 連原文想做什麼工作都不知道,就在戰哪個語言比較高級,這 02/27 18:20
→ DrTech: 時別忘了,其實PHP才是地球上最強的語言 02/27 18:20
推 lunasdejavu: ....不會用C刷的根本api工程師吧 02/27 18:31
→ LinuxKernel: C++ or Java 02/27 18:49
推 hegemon: 我就用C刷呀 02/27 19:22
→ ckvir: 用 c 怎麼做 hash map?有些是考你用資料結構,不是叫你實作 02/27 19:38
→ ckvir: ,當然用 C++ 02/27 19:38
→ nekosgr93: 讀到資工所了還在問語言是不是有點悲哀 02/27 22:05
推 mirror0227: 看你以後走向 想走什麼就用相對應的語言練習 02/27 22:35
→ x000032001: hash map可以事先寫好 複製貼上阿 02/27 22:51
推 TheOneisNEO: 話說interview的時候 如果用C但這題必定要用hash map 02/27 23:10
→ TheOneisNEO: 不曉得該怎辦 02/27 23:10
推 stupid0319: 用google map不好嗎 02/27 23:10
→ ericrobin: 面試通常都是在考對資料結構跟演算法的掌握 02/27 23:13
→ ericrobin: 先不說難度 面試官看到你花時間在建hash table會先傻眼 02/27 23:15
→ ericrobin: 然後多數OA是會管制跳分頁跟複製貼上的 就算照抄也費時 02/27 23:16
推 tnfshjcc: 用最多面試官懂的語言 在美國是python 02/28 00:10
→ tnfshjcc: 台灣用python的公司真的很少 所以不建議 02/28 00:10
推 tnfshjcc: 回答關於語言在leetcode上的TLE,是分開計算的 02/28 00:13
→ tnfshjcc: 各個語言的time limit應該是不同的 但也有可能我記錯 02/28 00:13
→ tnfshjcc: 不過lee215確實有說過有時BF解法在C++會過python不會 02/28 00:14
→ viper9709: 推DrTech 02/28 00:32
→ orz811017: 首選C++ 次選 JAVA PYTHON 02/28 00:56
→ orz811017: 用C太多要手刻了 OA 白板題沒這時間 02/28 00:57
→ orz811017: C++ 是各產業幾乎都通用 02/28 00:58
推 modelfucker: 物件…導向很重要 02/28 01:29
→ modelfucker: 你之後去面試可以說你很會c++試試看XD 02/28 01:30
→ SouthRa: lc 上面使用語言的人數大概是 java>c++>python 我是覺得 02/28 03:10
→ SouthRa: 你不需要擔心用c++ 會不好參考performance排名 02/28 03:10
→ SouthRa: 樓主跟推文哪些提到C時是包含C++的 哪些是刻意區隔兩者的 02/28 03:13
→ SouthRa: 看了好混亂@@ 02/28 03:14
→ TakiDog: py要刻意不走捷徑,Java Golang可以試試 02/28 06:23
推 tnfshjcc: 如果你人在美國 大膽用python不會吃虧 在台灣就用c++吧 02/28 06:33
推 genic: 謝謝。我本身做embedded firmware 多年只懂C,也有一樣的 02/28 10:54
→ genic: 困惑。做了幾題後,想到要實作hash table 跟dictionary 根 02/28 10:54
→ genic: 本吐血。都不知道該怎麼刷起,現在知道了。開始惡補Python 02/28 10:55
→ genic: 然後再刷。 02/28 10:55
推 IMPOSSIBLEr: 沒人推go,我來推一下 02/28 11:39
推 Amazonite96: 最近剛面上不錯的純軟,考白板題用C++(STL已經有很 02/28 12:28
→ Amazonite96: 多好用的函式庫 可以表達出你對資料結構的熟悉), 02/28 12:28
→ Amazonite96: 但平常寫ML作業用Py 所以看工具導向吧,也可以反過 02/28 12:28
→ Amazonite96: 來,熟悉最重要 02/28 12:28
推 jason710068: 板上有心得 只推c++或java 02/28 13:00
→ jason710068: 不過建議自己要先熟悉各式資料結構怎麼實現的 例如l 02/28 13:01
→ jason710068: inked list , bst 等等 02/28 13:01
噓 MoonCode: 02/28 13:46
推 HyperPoro: 我看leetcode的討論區 py和java都滿多的 可以參考 02/28 14:38
→ HKCs: 高階工程師不會只用一種語言 我現在後端都用GO寫 02/28 14:42
推 wei115: C可以用uthash系列的資料結構八 02/28 15:23
推 TheOneisNEO: uthash頗神 marco一堆有趣的用法 02/28 16:24
推 penril0326: 沒什麼人推go 我推一下 02/28 19:42
→ shooter555: 沒刷過 原來刷題 C不能用glib的hash? 03/02 12:52
→ ckvir: 用 uthash 概念不就 API,那不如直接用 C++ 03/02 16:40
推 momo4571: 經c或java看起來比較穩,其他語言捷徑多 03/23 17:49