引言:
这篇博客主要是针对初学者关于怎么在网上刷题,以及在哪里刷题。
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
其他平台里的题可以根据自己的需求来选择。
编程,有一句话很合适:师傅领进门,修行靠个人。