坚持刷题678天的感受!

共 2408字,需浏览 5分钟

 ·

2021-11-27 14:06

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

通过自己678天的刷题,不断总结自己和别人的经验,有以下几点感受与大家分享。

弄清楚为什么要刷题?

刷题的原因各种各样,结合本人和朋友的经历,以及网上大家的分享,比较有代表性的原因有以下四种:

  1. 找工作。当下找工作的氛围下,不管是社招,还是校招,都不可避免的会有上机考试或者面试时手撕代码。
  2. 自我能力提升。毕竟在学完相关的理论知识后,还是需要结合实际的编程,将理论很好的掌握,也是进一步强化对编程的熟悉程度、提升自己的能力。
  3. 编程大赛/考试。现在LeetCode的每周竞赛、ACM大赛、蓝桥杯和各种极限编程大赛,以及计算机二级考试、PAT考试、课程的上机考试、计算机方向考研或者保研复试的上机考试等,这些都对编程有着一定的要求,促使大家去刷题,提升自身能力,在竞赛或考试中取得理想的成绩。
  4. 兴趣爱好、放松,提升自信心。有些人喜欢编程,还有些人拿刷题作为一种放松(……),再或者是在其他方面没有信心但是在编程上很擅长,进而通过刷题来提升一下自己的信心。

不管何种理由都促使我们去刷题,只有在刷题前搞清楚自己是为了什么,这样才会有更多的动力去刷题。

刷题前需要做哪些准备?

  • 有一门熟悉的编程语言。个人推荐C++或者Java。

  • 了解基本数据结构和常用算法

    A. 基本的数据结构包括:栈、队列、链表、树、堆等;

    B. 常用的算法:动态规划、分治算法、贪婪算法等。

  • 基本知道如何入手进行算法设计和分析

    A. 算法设计:可以根据要求设计完成相应任务的算法;

    B. 算法分析:给出一个算法可以从时间复杂度和空间复杂度进行分析。

小白如何刷题?

根据刷题的目的不同和刷题中会遇到的问题,分为三个部分,具体如下:

1. 目的:建立扎实的Coding能力

推荐刷LeetCode中的题目作为练习和提高,目前已有题目2094道。

具体执行为

① 掌握一门基本的编程语言,推荐Java和C++;

② 按照特定模块进行系统性刷题。(千万不要简单地按照easy, mid, hard的顺序来随机刷题);   具体按照哪一种模块的顺序刷题可以参考刷题的知乎问答(链接:https://www.zhihu.com/question/36738189)

③  必须要反复刷题,做到一题多解(时间允许分析每一种解法复杂度),而且不能只盯着高频题目;

④  具体刷题时:一看二抄三改四写;

⑤  现在LeetCode有上千道题,每个部分一定要找有代表性的题目去做,而且在刷题过程中会有模板去套用。

2.目的:建立求职面试的解题思维

推荐刷《剑指OfferⅡ》,其中一共75道题,但是设计各种变形。建议刷至少3遍

具体执行为

第一遍,不需要死磕,但是要完全弄懂题目,必须看题目的分析。

第二遍,进一步熟悉题目,对于一道题的各种变形也可以做出。
第三遍,对于这不到100道题和一些相应的变形已是特别熟练的状态,上机编程没问题,手撕代码也是ok的。

3.目的:解决可能的问题

A. 可能会遇到的问题

①刷过的题老是忘、②刷题的速度很慢、③坚持不下来

B. 对应决方案:

①及时重复、与人分享,以及做笔记;

②制定计划、分解计划、快速刷题(为了节约时间,五分钟没有思路,就别浪费时间了。明确认知,这个和高考刷题没什么区别,理解不了,先背下来。);

③为自己制定奖惩措施,或者组队刷题。

小白刷题法

刷题资料整理

根据本人的经验,再结合网上大家的分享,有一些书籍和网站,以及其他的网络资源可以推荐给大家。

1.书籍

《大话数据结构》、《啊哈!算法》、《图解算法》

2.刷题网站

LeetCode、牛客、PAT

3.其他网络资源

① https://github.com/liuchuo

②  https://leetcode-cn.com/circle/discuss/nRXySQ/

③  https://github.com/Jack-Cherish/LeetCode

④ https://www.mdeditor.tw/pl/gmDL

⑤ https://labuladong.gitbook.io/algo/

最重要的一点

掌握理论固然重要,更重要的还是要动手实践。

重要的事情说三遍:Coding、Coding、Coding

最后送给大家我很喜欢的一句话:日拱一卒 功不唐捐

下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 56
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报