引言:
? ? ? ? 這篇博客主要是針對初學者關于怎么在網上刷題,以及在哪里刷題。
1.介紹平臺(在哪刷題):
1.牛客牛客網https://www.nowcoder.com/?:有許多面試題,也有許多供學習者練習的題
2.洛谷洛谷 https://www.luogu.com.cn/?: 偏競賽方面,也有許多簡單題可以刷來練手
3.力扣力扣 (LeetCode) https://leetcode.cn/
:有許多面試題,也有許多供學習者練習的題
4.信息學奧賽一本通信息學奧賽一本通(C++版)在線評測系統 (ssoier.cn)http://ybt.ssoier.cn:8088/index.php
:搭配《信息學奧賽一本通》這本書來學習C++;每個階段都有大量的題。
2.刷題界面的介紹
1.ACM模式
ACM模式?般是競賽和筆試?試常?的模式。給你?個題?描述,外加輸?樣例和輸出樣例, 不會給你任何的代碼。此時,選?或者應聘者需要根據題?要求,??完成如下任務:
1. 頭?件的包含
2. main函數的設計
3. ??定義程序所需的變量和容器(數組、哈希表等等)
4. 數據的輸?(根據題?敘述控制輸?數據的格式)
5. 數據的處理(各種函數接?的設計)
6. 數據的輸出(根據題?敘述控制返回數據的格式)
?總之:ACM模式相當于給你題?和?個空?的代碼框,讓你自己設計程序來解決問題。 因此,ACM模式更加能夠鍛煉代碼能力,以及處理問題的整體邏輯。
洛谷偏競賽,以ACM模式為主
以牛客網的圖片為例:
?2.核心代碼模式
相?較于ACM模式,核?代碼模式就只?實現主要功能。
1. 核心代碼模式不需要你處理頭文件、輸入和輸出等亂七八糟的東西,只會給你?個函數接口。 你的任務就僅僅是完成這個函數;
2. 在這?個函數接口中,函數頭部分會傳給你需要的數據,直接使用即可;
3. 在你完成這個函數并且提交之后,后臺會調?你所寫的函數,并且根據你返回的結果測試是否正確。
這種情況下,我們只需完成核心的函數接口,?需考慮數據的輸入和輸出。
例如:leetcode上?道簡單的核?代碼模式的題:2235. 兩整數相加 - 力扣(LeetCode)
3.刷題指南
在每個網址里面尋找編程初學者入門訓練的題來刷,編程就是一門實踐的過程,只有自己親自實踐過了,自己才會有收獲。
剛開始使用網頁刷題的時候,你可能會感覺很蒙,沒有思路,這是很正常的現象,自己思考了許久還是沒有想法或者你的想法不能AC(通過的意思)的時候,可以直接去看答案,多看看別人是怎么寫的,想,為什么會這么寫,從中學習,提高自己的代碼能力。(寫代碼的能力都是練出來的)
如果這時候你想說你打字慢的話,可以系統地學習一下怎么打字,在敲代碼的過程中,你的打字速度就能快速提升。
這里可以給大家推薦一個練習打字的網站:(只要堅持做,就一定會有收獲的)edclubhttps://www.edclub.com/login.html
?在牛客網里找編程初學者入門訓練的題,可能不是那么好找,這里提供一個入口:
編程語言初學訓練營_在線編程+題解_牛客題霸_牛客網 (nowcoder.com)https://www.nowcoder.com/ta/beginner-programmers-v1
其他平臺里的題可以根據自己的需求來選擇。
編程,有一句話很合適:師傅領進門,修行靠個人。