[討論] 刷leetcode的語言選擇

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

Links booklink

Contact Us: admin [ a t ] ucptt.com