PTT推薦

Re: [請益] 碼農的職捱方向請益

看板Tech_Job標題Re: [請益] 碼農的職捱方向請益作者
yamakazi
(大安吳彥祖)
時間推噓 8 推:13 噓:5 →:119

用C刷題沒問題

linked list相關問題原本題目就有給struct ,主要是pointer跟STL無關可以直接寫

DP,BFS,DFS的問題也用不到STL,用C寫完全沒問題

tree的問題是linked list的延伸所以沒問題

字串問題也不大,知道處理\n就好

唯一比較麻煩的是map

C++有STL

但C也有glibc

Linux header也有struct rb_tree可用

不用重造輪子

只要知道怎麼include header,怎麼包庫進來就好

不知道怎麼用查一下API文件就好

結論就是用C寫leetcode完全沒問題
-----
Sent from JPTT on my iPhone

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.202.247 (臺灣)
PTT 網址
※ 編輯: yamakazi (61.230.202.247 臺灣), 01/02/2023 14:23:42 ※ 編輯: yamakazi (61.230.202.247 臺灣), 01/02/2023 14:27:20

ejnfu 01/02 15:06放著C++ STL不用,要用C寫我也是醉了...

loadingN 01/02 15:06對啦 有glibc 但如果後面遇到直接開個gdoc給你寫

loadingN 01/02 15:07還是要自己刻...

yamakazi 01/02 15:27以經典題two sum為例,用hash map建table根本不用重

yamakazi 01/02 15:27新造輪子,他就是個table只是比較佔空間

yamakazi 01/02 15:28連刻都不用刻

yamakazi 01/02 15:31叫hash也不太對,因為根本用不到hash值,該叫lookup

yamakazi 01/02 15:31 table,用key當index,作為array中第幾個元素值,

yamakazi 01/02 15:31查找時間一樣是O(1)

dildoe 01/02 16:27那是讓你測驗用的吧。像FW好像還是用c比較多,C++

dildoe 01/02 16:27光版本要統一就很累人XD

labbat 01/02 17:58glibc也是linux os才有,跨平台windows和os/2怎麼辦

j0958322080 01/02 18:21fw 不用 c++ 是因為 tool chain 少又貴吧

j0958322080 01/02 18:22然後我也用 C 刷題,很容易贏過其他人,爽

yamakazi 01/02 18:24沒有glibc 用陣列就好了

jfcherng 01/02 18:57map 的話,leetcode 有 uthash 可以用

peter98 01/02 20:42老實說 完全不知道你在堅持甚麼 glibc根本不是能

peter98 01/02 20:43用的 這問題比C++版本問題還大 priority queue勒

peter98 01/02 20:45考LRU cache那題時你等著哭死 另外 真的用c去寫

peter98 01/02 20:45出來 也沒有人會appreciate...

peter98 01/02 20:46p.s. PQ跟LRU cache是兩個例子 兩者之間無關

wulouise 01/02 21:05說真的要比library 那都用python寫最懶(跑)

yamakazi 01/02 21:32LRU 就是map和linked list是要哭什麼?

yamakazi 01/02 21:33linked list又不是stl,map就用lookup table完全可

yamakazi 01/02 21:33以取代

yamakazi 01/02 21:36https://youtu.be/0VgqZTtkINY

yamakazi 01/02 21:37上面就是用C寫LRU,根本不用重刻用linked list就好

yamakazi 01/02 21:37,是要哭什麼?

yamakazi 01/02 21:39你的論點大概就是stl 有priority queue可以用,但li

yamakazi 01/02 21:39nked list斷開連結後放到頭部一樣可以辦到

yamakazi 01/02 22:11應該說PQ本質就是double linked list,斷開連接移到

yamakazi 01/02 22:11頭部這個動作是基本功,不是重刻輪子

peter98 01/02 22:13笑死了 用C++寫LRU cache幾行能搞定的事情

peter98 01/02 22:13你用C寫這麼多還覺得自己好棒棒 笑鼠

peter98 01/02 22:14笑死人了 誰不知道PQ就是doubly linked list? 問題

peter98 01/02 22:14是你用C去寫一個pq.top() pq.pop() 就是用手刻阿

peter98 01/02 22:15笑死 都刻完了還說不是刻 但是跟刻有87像是吧

peter98 01/02 22:16這麼會寫資料結構寫完還好棒棒 你怎麼不回大二寫

peter98 01/02 22:16資結作業去電爆剛滿20歲的小屁孩?

yamakazi 01/02 22:24被指正就大崩潰喔,事實證明不用手刻也能寫LRU

yamakazi 01/02 22:25我只是說了事實。你自己去看網路關於這題的討論吧,

yamakazi 01/02 22:25在這邊崩潰不會顯得比較專業

yamakazi 01/02 22:28pq.top()就是回傳頭部

yamakazi 01/02 22:29pq.pop()就是把頭部斷掉,再用map找出最大值斷開連

yamakazi 01/02 22:29接接到頭部,這樣叫重刻我也是醉了

yamakazi 01/02 22:33我也是寫C++的,LRU就算用到PQ也沒有像你說的幾行就

yamakazi 01/02 22:33寫完

yamakazi 01/02 22:33https://i.imgur.com/MmAn4Yk.jpg

j0958322080 01/02 22:34自己刻太超過了啦,現在都去 google 然後複製貼上

j0958322080 01/02 22:34即便你用 c++ 寫 LRU Cache 那些扣也不可能完全自幹

yamakazi 01/02 22:46C++大概是65行,我這邊找到一個用C寫但是有用uthash

yamakazi 01/02 22:46的只有50行

yamakazi 01/02 22:46https://i.imgur.com/pVb4Ho4.jpg

yamakazi 01/02 22:54不過行數不是重點,我刷題和工作都是用C++,重點結

yamakazi 01/02 22:54論是用C刷leetcode完全沒問題不用重刻輪子

peter98 01/02 23:04喔 人家都已經上太空 你還在研究怎麼殺豬公

yamakazi 01/02 23:04說C沒辦法刷題要重刻輪子基本上就是先入為主的刻板

yamakazi 01/02 23:04印象

peter98 01/02 23:04殺完豬公覺得自己的刀法真不錯 但其他人都在太空了

peter98 01/02 23:05看不見 就是這種港覺 嘻嘻

yamakazi 01/02 23:05殺豬公?50行叫殺豬公喔?啊不是講要重刻輪子?現在

yamakazi 01/02 23:05告訴你不用重刻輪子了嘻嘻

yamakazi 01/02 23:07上太空和殺豬公的根據是什麼?我引經據典證明給你看

yamakazi 01/02 23:07不用刻輪子了,沒根據隨便講不會讓你顯得比較專業

yamakazi 01/02 23:07C的運行效率叫殺豬公的話,我不知道其他語言的運行

yamakazi 01/02 23:07效率叫什麼?

peter98 01/02 23:08忘了噓 補一下

yamakazi 01/02 23:16而且C是嵌入式最常用的語言,要說上太空的話,C不知

yamakazi 01/02 23:16道多少衛星和太空梭電腦在用勒

j0958322080 01/02 23:18那些應該是 fortran

yamakazi 01/02 23:18韌體,嵌入式,以及整個Linux kernel都是用C寫的,

yamakazi 01/02 23:18要說上太空,C肯定早就上太空了嘻嘻

SkyReaching 01/03 01:47Peter你不要被搓破就開始顧左右言他,這個討論叫做

SkyReaching 01/03 01:47不是不能用C寫,別人都貼出來怎麼寫了你還一直崩潰

SkyReaching 01/03 01:47也是奇葩…

SkyReaching 01/03 01:48沒有人說C寫效率一定比C++高吧,先把討論的主題搞清

SkyReaching 01/03 01:48

ejnfu 01/03 02:38純準備面試刷題的話,我看不出來用C的好處在哪...

ejnfu 01/03 02:38python/Java/C++一行的operation,你C就算使用libra

ejnfu 01/03 02:38ry不完全重刻,也是自己要多一些額外操作。結果還是

ejnfu 01/03 02:38一樣,刷題效率就是比較差

ejnfu 01/03 02:40除非你是想鍛鍊你的C語言,那倒是不錯的練習。

peter98 01/03 03:03噗哧耶 你本文在講刷題 結果被打臉之後開始講嵌入

peter98 01/03 03:04式 你是在Xilinx上面刷題逆? 連比效率時要比bench

peter98 01/03 03:04mark都不懂 你計組前兩章白念了膩? 我發現你不只

peter98 01/03 03:05殺豬公 而且還會覽趴(C)比雞腿(效率)

peter98 01/03 03:05好久沒見過像你這樣噗哧的言論了 也算是不容易

peter98 01/03 03:05照你的說法 C真的是爛透了 要比效率就要寫machine

peter98 01/03 03:06language阿 講到效率連組語都看不到機器語言的車尾

peter98 01/03 03:07燈勒 你所探討的"效率"沒屁用 機器語言效率好但是

peter98 01/03 03:07不可能拿來發展中大型程式 就跟你拿C寫 30分鐘內

peter98 01/03 03:07刷不出來 你還管效率? 你連code都沒有 噗哧

peter98 01/03 03:09就跟你說寫C要手刻 結果你舉一堆例子還是手刻

peter98 01/03 03:09不然就是拿plaform-specific的東西在那邊搖

yamakazi 01/03 07:50被指正就乖乖承認錯誤就好,你說造輪子我也證明給你

yamakazi 01/03 07:50看不用造輪子了,東拉西扯不會讓你顯得比較專業

yamakazi 01/03 07:51事實證明就是用C刷題本來就沒問題,被打臉後大崩潰

yamakazi 01/03 07:51

yamakazi 01/03 07:54不過你再怎麼崩潰嗆我去電大二,也不會改變你的觀念

yamakazi 01/03 07:54就是錯誤的這個事實,事實就是不用造輪子,光以行數

yamakazi 01/03 07:54而言C++用PQ跟C根本差不多

yamakazi 01/03 07:56我沒說C刷題有特別好處,我只說用C刷題沒問題不用重

yamakazi 01/03 07:56複造輪子

dildoe 01/03 08:15那年代東西stdlib會有完整的資料結構才神奇。移植

dildoe 01/03 08:15性爆表,換句話說也有可能是東西都要自己來。可見f

dildoe 01/03 08:15w還蠻無聊的,連螺絲都有可能要自己要造,造的輪子

dildoe 01/03 08:15少,改東西還要上面輪子沒感覺。這po大概面過很多f

dildoe 01/03 08:15w?!XD

yamakazi 01/03 08:21我的論點不是「用C刷很有效率,叫你改用C」而是「用

yamakazi 01/03 08:21C刷不用重造輪子」

yamakazi 01/03 08:36其實你的論點不就是C++可以用PQ,我已經證明給你看

yamakazi 01/03 08:37不用PQ也能刷題了,但如果你真的很想用PQ,C也有lib

yamakazi 01/03 08:37可以用PQ,詳情自己上網查

chunfo 01/03 11:04fw也不錯啊 比多數web仔高薪

dildoe 01/03 12:41但那是fw變成平台跟輪子的形狀換來的啊 硬體平台跟

dildoe 01/03 12:41輪子玩到風生水起 分得到績效才有用啊XD

BigCockman 01/03 19:12語言根本就不是重點 會寫的用pseudo code 也沒差

as30385438 01/03 20:59web仔三年經驗拿個150不錯了吧,當然跟豬屎屋沒法

as30385438 01/03 20:59比啦

peter98 01/03 22:49笑死 你一看就知道沒資工的廖阿 = = 說實話也不行

peter98 01/03 22:49你講幹話嗎? 用C可以寫完99%的程式阿 但刷題不是讓

peter98 01/03 22:50你用c刷的 笑死 就跟你說刷題不要用c 用c要手刻

peter98 01/03 22:50阿你的回應還是手刻阿 你的文章邏輯真的是廢到校

peter98 01/03 22:52連glibc不能用你都不知道 廢話倒是一堆 笑死

j0958322080 01/03 22:55用 c 刷也沒有要手刻,很多資料結構會先給你

j0958322080 01/03 22:56會吵用手刻一看就知道沒用 c 刷過

j0958322080 01/03 23:40阿說到用 C 刷題最煩的是 return array

LeaderH 01/04 00:37用c刷題真的只是練c而已 不然刷leetcode的重點是解

LeaderH 01/04 00:37題的思路 考題也是考思路 用高階語言確實會可以加快

LeaderH 01/04 00:37練習的效率

yamakazi 01/04 14:04又再崩潰了,貼給你的範例想必沒看過,還在自以為用

yamakazi 01/04 14:04手刻

yamakazi 01/04 14:06用uthash的macro叫用手刻,真正搞笑的恐怕是你自己

yamakazi 01/04 14:07uthash有網友認證過leetcode刷題是可以用的

yamakazi 01/04 14:12不過看來跟你是沒什麼討論的意義了,裝睡的人叫不醒

admon 01/04 15:23c是高階語言裡最低階的

peter98 01/05 21:02廢文一篇