这是困扰我们这些“菜鸟”“新手”很久的问题,今天博主就来一一解答
博主作为一名接触Java不过两年的萌新,和大家一样从刚开始的不懂什么是刷题,怎么去刷题,刷哪些题,如何去巩固,到现在已经刷了600+题,周赛稳定三道的划水选手。我知道大家刷题大部分的目的就是为了笔试,我也不例外,作为转码选手,笔试成了我们唯一能和科班选手一教高下的武器,接下来我们就来看看如何能够快速提升笔试水平吧!
从我的经验来看,刷算法题前提,算法其实不是最重要的,你一定要掌握好数据结构,堆、栈、队列等等,其次才是开始慢慢的去掌握相关的方法,就比如说双指针、动态规划、贪心等等,所以我不建议一开始就去学哪些什么迪杰斯特拉、弗洛伊德算法等等。掌握基础的数据结构才是关键,知道什么时候用哪个、性能如何、保证自身的时间复杂度这才是重中之重。
可能很多同学一开始刷不知道刷哪些题
我的建议如上,可以先去刷算法,然后再是数据结构,因为在算法中,你会用到不同的数据结构,在数据结构中,算法也是比比皆是。
下面推荐几个刷题的网站,里面有哪些类型刷什么题,每个题都有详细的解释,我认为这是非常适合我们初学者的。
刷题,不是刷一遍就过了,也不是象征性的刷两遍就过了,而是持续反复的去刷,吃透。像我老师曾经说过自己以前的一个学生,做一道题,吃透了这道题,之后遇到同类型的题就都不会错了,这和我们刷算法是一样的。
这是我的leetcode刷题面板,我一共解决了600+题,却提交了2600次,当然不乏做错的题,但是更多的是反复刷。你会发现自身到一定阶段回过头来,再去做一道题,你的解法,你的切入点,都完全不一样了,这就是我为什么建议大家反复刷题的原因。
哦对,还有多打周赛,能找到笔试的感觉。
博主也是从萌新过来的,当然现在也还是,当年找怎么刷算法题,都是各执一词,所以现在以亲身经历,来回馈社区。
就我而言算法题,其实跟我们的智商关系不是很大,要相信勤能补拙,有自己坚定的目标,不断的追逐,大家都能收获一个美好的结局的!
不求得到回报,只希望各位看客点个小小的赞,就是对我最大的支持了。