坚持刷题678天的感受!
↑↑↑关注后"星标"Datawhale
每日干货 & 每月组队学习,不错过
Datawhale干货
作者:胡来,中山大学,Datawhale成员
通过自己678天的刷题,不断总结自己和别人的经验,有以下几点感受与大家分享。
弄清楚为什么要刷题?
刷题的原因各种各样,结合本人和朋友的经历,以及网上大家的分享,比较有代表性的原因有以下四种:
找工作。当下找工作的氛围下,不管是社招,还是校招,都不可避免的会有上机考试或者面试时手撕代码。
自我能力提升。毕竟在学完相关的理论知识后,还是需要结合实际的编程,将理论很好的掌握,也是进一步强化对编程的熟悉程度、提升自己的能力。
编程大赛/考试。现在LeetCode的每周竞赛、ACM大赛、蓝桥杯和各种极限编程大赛,以及计算机二级考试、PAT考试、课程的上机考试、计算机方向考研或者保研复试的上机考试等,这些都对编程有着一定的要求,促使大家去刷题,提升自身能力,在竞赛或考试中取得理想的成绩。
兴趣爱好、放松,提升自信心。有些人喜欢编程,还有些人拿刷题作为一种放松(……),再或者是在其他方面没有信心但是在编程上很擅长,进而通过刷题来提升一下自己的信心。
不管何种理由都促使我们去刷题,只有在刷题前搞清楚自己是为了什么,这样才会有更多的动力去刷题。
刷题前需要做哪些准备?
有一门熟悉的编程语言。个人推荐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
最后送给大家我很喜欢的一句话:日拱一卒 功不唐捐
整理不易,点赞三连↓
坚持刷题678天的感受!相关推荐
- 【算法基础】坚持刷题678天的感受!
作者:胡来,中山大学,Datawhale成员 通过自己678天的刷题,不断总结自己和别人的经验,有以下几点感受与大家分享. 弄清楚为什么要刷题? 刷题的原因各种各样,结合本人和朋友的经历,以及网上大家 ...
- python刷题_11.学习Python,刷题才能让你感受到快(差)乐(距)!
猜数字游戏可用一个简单的while循环来实现. 其中 随机数 的生成在第4篇介绍过, 键盘输入在上一篇介绍过 import random result = round(random.random()* ...
- 想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事
目录 1.话题引入 2.在刷题过程中一些自己想说的 3.刷题时的一些小建议 4.个人感悟 1.话题引入 首先介绍一下我自己,本人是一名专科大一的学生:非计算机本专业:因为想拓宽自己的知识面和技术:于是 ...
- 我收藏的谷歌和阿里大佬的刷题笔记
金三银四大家在准备校招.社招,或者闲暇的时候,都可以刷刷 Leetcode,保持良好的手感. 之前刷题,一直觉得漫无目的地刷,效率很低.后来发现了两个刷题笔记,谷歌大佬高畅和BAT大佬霜神写的 Lee ...
- SQL 学习最强刷题网站!
大家好,我是荣哥. 今天给大家上点干货,推荐一款之前一直在用的SQL刷题网站-牛客的SQL题库. 很多人都知道牛客有面经,但是还不知道有SQL,其实牛客的SQL题目已经有大概500题了,题目内容.产品 ...
- 谷歌师兄的刷题笔记分享!
高畅现在是谷歌无人车部门(Waymo)的工程师,从事计算机视觉和机器学习方向. 他在美国卡内基梅隆大学攻读硕士学位时,为了准备实习秋招,他从夏天开始整理某 code 上的题目,几个月的时间,刷了几百道 ...
- C#LeetCode刷题-字符串
字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串 24.6% 中等 5 最长回文子串 22.4% 中等 6 Z字形变换 35.8% 中等 8 字符串转整数 (atoi) 15.3% 中 ...
- 3维两点间的距离 js_高考必刷题4:球面上任意两点间距离的计算
678地理工作室,每天,6:13 678地理工作室诚邀一起合作的小伙伴 文章首发于微信公众号"老丁侃地理",欢迎关注 本文为老丁原创,引用请注明来源 第一部分:经纬网部分,考纲和知 ...
- 找到所有数组中消失的数字_【一点资讯】千万程序员的呼声:面试如何拿到大厂Offer?这份阅读量超过11W+的算法刷题宝典请你原地查收 www.yidianzixun.com...
如何才能通过面试拿到大厂Offer? "刷leetcode!" 这是我听到最多的回答! 现在越来越多的人应聘工作时都得先刷个几十百来道题,不刷题感觉都过不了面试. 无论是面测试.算 ...
最新文章
- 从FASTQ到BAM经历了什么?
- 数据库--悲观锁【收藏,待尝试】
- mysql -u -p -d_mysqld_exporter监控mysql
- sql 找到最近的值_数据分析——SQL查询(常用函数)
- 关于Docker COPY指令只能使用相对路径的说明
- javascript与xml实例应用
- Taro+react开发(31)同样的数据可以数组遍历
- 软件工程教学博客 (备份)
- sql语句延时执行或者是指定时间执行
- Python UDP broadcast PermissionError: [Errno 13] Permission denied
- soapUI使用教程----B站 特斯汀学院
- 比尔·盖茨:如果你想了解硅谷,就看《硅谷》吧 1
- 手机电视标准对峙激化
- 瞬态抑制二极管型号参数对照表,想要的都在这里
- Android学习笔记一
- 如何将火星坐标(高德、谷歌、腾讯地图坐标)转换为国家2000(或WGS84)坐标系?
- vue3+tsx封装组件
- linux 显卡 卡死,linux服务器显卡崩溃解决方案
- 【AI】VGG网络简介
- FC总线基础知识(2)——光纤交换机