[問題] 請問大家會建議用純C刷Leetcode嗎?

看板C_and_CPP (C/C++)作者 (Gundam)時間5年前 (2019/09/09 00:56), 編輯推噓16(16040)
留言56則, 14人參與, 5年前最新討論串1/1
如題,自己本身的工作內容是碰Linux Kernel Driver, 使用到的程式語言就是純C, 比較不需要用到C++, 最近因為想增進自己的基本寫程式能力, 想開始試著刷Leetcode, 但發現網路解答純C的答案相當少, 假設未來工作發展也依然想往底層發展, 想請教各位大大給的建議為何? 例如: 1. 學底層應該只需要碰C,就用C刷題到底 2. 學C++比較好刷題,建議用C++來刷題,但長期寫C++可能影響寫C的邏輯!? 3. 反正只是想練習寫程式,乾脆另外學一個新的語言來刷題, 例如:python,聽說相對簡單!? 還請各位大神解惑~感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.230.139 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1567961793.A.F07.html

09/09 06:04, 5年前 , 1F
我沒玩過 leetcode 但我的 UVa 都是純 C 解題
09/09 06:04, 1F

09/09 06:05, 5年前 , 2F
要說缺點就偶爾忘記,拿 // 當註解白白多一次失敗紀錄
09/09 06:05, 2F

09/09 08:27, 5年前 , 3F
不建議 用C處理IO很麻煩 你想練的應該是解題思維?
09/09 08:27, 3F

09/09 08:31, 5年前 , 4F
不對吧,C++ 解題還是常常用 C 的 I/O function 去做
09/09 08:31, 4F

09/09 08:32, 5年前 , 5F
像是 scanf 可以榮登排行榜第一名了
09/09 08:32, 5F

09/09 08:39, 5年前 , 6F
C++ 解題的好處我會講 STL
09/09 08:39, 6F

09/09 09:26, 5年前 , 7F
聽起來很爽
09/09 09:26, 7F

09/09 10:41, 5年前 , 8F
不建議用純C, 不少題目要用priority que
09/09 10:41, 8F

09/09 10:42, 5年前 , 9F
C++ STL有很多實用的container, 純C只能自己手刻
09/09 10:42, 9F

09/09 11:20, 5年前 , 10F
基本上在discuss頁面通常會有c的解答,你很難當第一個
09/09 11:20, 10F

09/09 11:49, 5年前 , 11F
S大講的認同 但scanf我覺得比起cin 真的差蠻多的 我也覺得
09/09 11:49, 11F

09/09 11:49, 5年前 , 12F
最大的優點是STL
09/09 11:49, 12F

09/09 16:36, 5年前 , 13F
聽了各位大大的描述,感覺是建議用C++來刷題,而且要學
09/09 16:36, 13F

09/09 16:36, 5年前 , 14F
會用STL,請問是這樣嗎?
09/09 16:36, 14F

09/09 20:42, 5年前 , 15F
我會說把 STL 常用的兩三種資料結構背起來就無敵了
09/09 20:42, 15F

09/09 20:44, 5年前 , 16F
反正目的不就是要練功嗎,比別人多練兩招又沒有損失
09/09 20:44, 16F

09/09 20:45, 5年前 , 17F
就第一次會有點痛而已,之後直接看小抄重複使用也行 XD
09/09 20:45, 17F

09/09 20:48, 5年前 , 18F
嚴格來講 STL 也不是 C++ 的精髓
09/09 20:48, 18F

09/09 20:48, 5年前 , 19F
你只是把 C++ 的開發環境打開來寫有 STL 的 C 而已...
09/09 20:48, 19F

09/09 20:51, 5年前 , 20F
另一個在解題上有巨大優勢的語言是 Java
09/09 20:51, 20F

09/09 20:52, 5年前 , 21F
遇到大數題 (運算數字大到內建 integer 無法處理的題目)
09/09 20:52, 21F

09/09 20:53, 5年前 , 22F
你可以不必自己寫大數運算直接叫 Java 處理就好
09/09 20:53, 22F

09/09 21:34, 5年前 , 23F
感謝Schottky大大的回覆!
09/09 21:34, 23F

09/09 22:03, 5年前 , 24F
UVa 用 // 會失敗是因為它開 C89 模式吧……
09/09 22:03, 24F

09/10 00:58, 5年前 , 25F
是,所以 compiler 要記得調成 C90,有時候還是會忘
09/10 00:58, 25F

09/10 16:15, 5年前 , 26F
Schotty真強者無誤!
09/10 16:15, 26F

09/10 16:16, 5年前 , 27F
少打一個k. Orz
09/10 16:16, 27F

09/10 18:28, 5年前 , 28F
想學演算法用C要顧慮很多小細節還要自己手刻很麻煩
09/10 18:28, 28F

09/10 18:57, 5年前 , 29F
我上次也聽人家說第一次會有點痛而已
09/10 18:57, 29F

09/10 19:10, 5年前 , 30F
樓上 xD 如果練DS 自己造輪子是還不錯拉 如果要練解題 應該
09/10 19:10, 30F

09/10 19:10, 5年前 , 31F
鍛鍊思路(i.e algorithm)比較重要 ?
09/10 19:10, 31F

09/10 21:04, 5年前 , 32F
純C刷leetcode是在自己找自己麻煩 除非你想刷榜
09/10 21:04, 32F

09/10 21:06, 5年前 , 33F
cin/cout有一套加速的trick
09/10 21:06, 33F

09/10 21:07, 5年前 , 34F
https://tinyurl.com/y55xhery 可以參考這篇 刷榜能用
09/10 21:07, 34F

09/10 22:02, 5年前 , 35F
聽完各位大神的建議,我決定用C++來刷Leetcode,感謝各
09/10 22:02, 35F

09/10 22:02, 5年前 , 36F
位大神!
09/10 22:02, 36F

09/11 00:04, 5年前 , 37F
用C也不錯阿,畢竟有時DS的設計會跟其他不太一樣
09/11 00:04, 37F

09/11 00:05, 5年前 , 38F
像是kernel裡的link list、rb tree
09/11 00:05, 38F

09/11 11:00, 5年前 , 39F
我覺得要看原po的功力到哪裡,解的順不順,在Java以前的年
09/11 11:00, 39F

09/11 11:00, 5年前 , 40F
代,世界冠軍用C刷題,效率還是很可怕的,如果原po只是一
09/11 11:00, 40F

09/11 11:00, 5年前 , 41F
般人,建議用python刷題,總比查答案來的好。
09/11 11:00, 41F

09/11 12:24, 5年前 , 42F
你先用C刷100題就知道了,一直重刻基本資料結構無助於你解這
09/11 12:24, 42F

09/11 12:24, 5年前 , 43F
些題目的思維
09/11 12:24, 43F

09/11 14:27, 5年前 , 44F
一直靠 STL 逃避基本資料結構就對解題思維有幫助?
09/11 14:27, 44F

09/11 14:28, 5年前 , 45F
這跟用 Java 逃避學習大數運算差不多等級
09/11 14:28, 45F

09/11 14:31, 5年前 , 46F
你一直逃避的東西,其實花個三天工夫就能把code背起來了
09/11 14:31, 46F

09/11 14:32, 5年前 , 47F
每次都不記得,每次都重新寫重新debug確實很沒幫助沒錯
09/11 14:32, 47F

09/11 14:35, 5年前 , 48F
而且在家解題,難道不會把以前寫的拿出來剪貼嗎 XD
09/11 14:35, 48F

09/11 14:39, 5年前 , 49F
原PO目標是將來學習用C寫kernel,kernel裡面是另一個世界
09/11 14:39, 49F

09/11 18:37, 5年前 , 50F
我曾經用C刷過快200題才這樣講,原po當然可以試試看,先想想
09/11 18:37, 50F

09/11 18:37, 5年前 , 51F
為什麼刷,目的在哪,就算kernel也都有API
09/11 18:37, 51F

09/11 18:38, 5年前 , 52F
總不會為了實現一個功能連內建的東西都不用
09/11 18:38, 52F

09/11 18:43, 5年前 , 53F
一般刷leetcode都是為了練習解題或面試,但如果是為了熟悉C
09/11 18:43, 53F

09/11 18:43, 5年前 , 54F
語言,倒是可以這樣做
09/11 18:43, 54F

09/12 19:08, 5年前 , 55F
用C語法 + STL叫C++編,不用真的懂很深的C++啦
09/12 19:08, 55F

11/24 21:39, 5年前 , 56F
C++ STL 在基礎的資料結構上的操作會方便許多
11/24 21:39, 56F
文章代碼(AID): #1TTJB1y7 (C_and_CPP)
文章代碼(AID): #1TTJB1y7 (C_and_CPP)