Re: [討論] 刷leetcode的語言選擇
最近剛好有在指導一些學生練習,可以來回應一下這個問題
一般最常見語言有三個:C, JAVA, Python
也是最容易找到範例 code 的三個語言
各有不同優點,可以看你的狀況選擇
首先,如果未來有一天
有想挑戰比較大平台的演算法競賽 (FB, Google 或其他的線上競賽)
C 與 JAVA 會是比較好的選擇
C 就效能王者,JAVA 得利於偉大的 JVM 效能也很扛
而 Python 真的在一些情境下會過慢,搞不好你時間複雜度正確最後還沒過...
加上還有遞迴深度被卡的問題(有些技巧能開大,但總歸是不好用)
另外網路上有聽過一些面試官覺得你都在學習演算法這門斤斤計較效率的學問了
還用 Python 這麼"慢"的語言未免有點好笑
但... 我自己身邊是從沒聽過不給用 Python 解題的...(有版友聽過可以補充)
所以我自己對於目前僅想先入門的人,還是會推薦 Python
寫起來真的硬是可以少別人很多行,又易學,實用性也廣,是個順便學會不吃虧的語言
其特殊的 [] 表示法練熟的話,很多迴圈都省了,也更好懂
當你想題目已經想到頭很痛時,起碼語言上可以讓你舒服一點點
且該有的基本工具,如 map, set, heapq, OrderedDict 等也都還算齊全
Leetcode 上的題基本上寫法對都會過(極少遇到卡 Python 的,出現還會被炎上抗議XD)
另外有個隱形的好處(或壞處?)是 Python 內建大數運算
所以你一開始練習可以不用思考 int, long, double 適用範圍這些事情
就假想數字可以無限大,給他直線幹過去就搞定
當然壞處就是... 你少了這方面的知識,被問到會掛
至於 JAVA 跟 C 比較的話
JAVA 在一般網站開發伺服器比較泛用,C 則是韌體方面較泛用,看你職業選擇
當然,即使不考慮職業,這兩個語言本身也仍然很有學習的價值
不過 C 在函數傳值與傳址的定義上與目前大多主流語言不同
要先把這塊搞清楚,以免變數被傻傻複製好幾次都不知道
而 C 有個很特殊的好處是可以用 typedef & define 創造一堆簡寫給自己用
所以其實是可以寫的簡潔的,但初學者當然不建議這樣搞, 畢竟別人很難看懂
最後,其他常聽到的語言在演算法練習上:
Javascript: 新手不推薦,效能OK,但少了些重要的基礎物件與函式庫,得懂得自己造
C#: 優缺點跟 JAVA 類似,但同樣範例較少
Go: 我不會寫所以不敢說,等版友補充了
--
js可以寫出非常漂亮的程式碼
要漂亮的程式碼的話 感覺Kotlin也行
但沒人會用Kotlin刷
js 不是改善非常多了嗎?
C#不推 語法糖太多 基礎打好再看比較合適
都用Swift刷
我都用js做code jam的XD
蠻推用C++的
效能是js > python, 真的沒有函式可以自己弄一個出來
py能用在leetcode的工具哪個js沒有?
js還被孤狗爸爸優化過 比py快多了
js 沒有 heap
c++刷leetcode比c簡單太多了吧..
哭了 還真的沒有heap
用 Python 打 contest 有時會遇到 top-down DP 不給過但
bottom-up 可以的情況,這點算是少數用 Python 寫 Lee
tcode 的痛點
Py與c++混著用
感謝分享
c++ 寫的好真的難
據Antti Laaksonen寫的Competitive Programmer’s Handboo
k統計,2017年Code Jam的前3000名當中有超過75%都是用C++
寫比賽的
C# 語法糖有些題目秒解效能排名還很前面
要用的話要刻意避免使用語法糖
JavaScript 現在速度和 Java 同等級好嗎 多久沒更新資訊了
沒有要戰 但你對那些不推的語言看起來也沒很熟
真的推的只有c/c++ 其他都各有優缺
範例我覺得也沒什麼意思 刷題刷到要直接複製貼上範例
這題也是白刷了
反而看範例轉譯成別的語言至少每一行都有重新思考
對新手來說,同語言的範例還是滿重要的,當然有一定
程度就不該再依賴語言了。JS 不止沒有 heapq,基本的
queue 都沒有吧?網路上還一堆誤導人用 unshift 實作..
當然自己造一個 queue 並不難,但對新手就是一個額外工
至於版友提到JS寫演算法效能能追上JAVA,我會查查看
c++
推
Java 推
用c寫,是不是在虐自己阿
59
[問卦] 資工的第一個語言該學C++ JAVA python?朋友的兒子讀資工, 有一門程式設計課,教授給班上公投自選程式語言, 有三種可選,C++ JAVA python。 老師都可以教, 但老師比較徧向C++,說選C++會讓同學比較好過一點。25
Re: [請益]沒有任何的程式基礎,如何自學JAVA先說結論: 語言的部分從 C++ / Java / Python三個挑一個都可以 非本科的話我建議是挑Python 其實多年前我只會建議C++或Java 但不得不承認Python真的是後起之秀(尤其是3.0開始) 拿Python來搞CI/CD根本開掛 重點是他好學 壞處是很多底層的東西你可能會不懂 但無所謂 除非你做底層不然這不一定重要17
[請益] 資策會入門課程選擇、選技能樹各位前輩好,小弟是27歲的非本科生,最近面臨職業上的一些選擇,有意願想轉換進入程 式領域。已經爬了不少文,自己現在也有在上udemy的python課,然後搭配書本在學。目 前想去修資策會的課程,算是加強練習然後補一下在程式領域的第一條履歷。 但是現在對自己想要哪個位置的職缺的概念還很模糊,對程式的感覺還在形成當中,現在 要馬上選課程方向,不知道該往哪一條技能樹走18
Re: [請益] 轉職仔的語言選擇語言不是重點,要看接在什麼主題後面 學寫程式,語言不是重點(O) 轉職,語言不是重點(O) 領更高的薪水,語言不是重點(O) 但,目的是了解程式,語言就是重點了18
[請益] 後端 刷題及工作語言的選擇目前在德國留學 畢業後不會在國外定居 往後還是想多陪陪家人 所以會在台灣定居 工作上希望是100%遠端 討厭通勤 最近爬了很多後端的文章 後端兩個很常見的語言java & python12
[心得] 美國刷題仔在職跳槽卻無任何offer流水帳來個美國OPT->H1b邊工作邊面試的流水帳分享, 順便討論該不該刷leetcode?可以用Python刷Leetcode? ## 背景 台灣四大EE學士,系統廠工程師兩年,沒做什麼硬體,都在中國工廠。 某國立商院碩士肄業,美國排名50~100CS碩士9
[請益] 文組轉職後端請益各位前輩好 小弟我114管院碩班 目前在內湖一間小公司實習 主要是寫R語言 還有超基礎的SQL2
[問題] 想轉職走程式設計對於課程選擇有些迷惘小弟今年 28 歲, 目前從事資訊硬體維護的相關工作, 一直有念頭想轉職走程式設計這塊, 目前有自己做了很多功課, 也知道非本科系要轉程式有多難, 考慮許久還是想嘗試看看。 我知道程式語言只是工具, 重要的是對寫程式的邏輯, 目前選擇了很多人推的 Udemy Python 劉老師的課程入門, 學起來沒什麼大問題, 自己還蠻喜歡 Python 的程式語言, 可惜爬文的結果告訴我, 非本科系想要比較好找工作, 似乎只能從 C# 和 Java上選擇才是最好的, 這點不確定正不正確 最近從104上面搜尋 Python 的職缺似乎快追上 Java 了, 然後拿 C# 和 JAVA 做比較的話 C# 又比較好入門一點, 所以我的認知沒錯的話應該會選擇資策會的 C# 課程, 但是不確定自己的決定正不正確, 或許套用到業界又有不一樣的看法 想詢問版上有經驗的大大們對於以下課程會給予什麼樣的看法呢? 或是有什麼其它課程可以推薦的呢? 非常感謝 !