刷leetcode习题

为什么要刷leetcode
面试笔试在leetcode上面抽题。

如何刷leetcode题

我的方法
1、写思路。
平时练leetcode题,先锻炼自己的思维能力,先把自己现阶段可以想到的做法都用注释写出来
从简单到难,从难到简单是两种不同的练习方式
/*方法1*/

/*方法2*/
...
2、写框架,写代码。
然后一个方法一个方法的去尝试,有大致的思路可以不去看答案,先将题目做出来。
没有任何思路的直接看答案(也许是太弱了,哎)。

如果感觉自己的逻辑性不是很强,可以锻炼自己的逻辑能力,写出代码的步骤
如使用队列
//1、如果为空,返回空
//2、初始化队列
//3、入队
//4、出队

3、改进代码。
改进代码才能提升自身代码能力
(1)、代码的冗余程度,基础练习先从自身代码上修改,使自己的代码不太过于冗余。
(2)、数据结构,如运用队列、栈、集合类(List,Set,Map)等等。这个方面是运用封装数据结构的知识。
(3)、时间复杂度和空间复杂度。这个方面是换一种解法

4、看答案,抄答案。
寻找时间和空间上的最优解,学习逻辑严密的解题方式。
为什么要看答案?
第一、面试的题基本上是从leetcode上抽取原题,笔试的时候选择最优解,是自身实力的体现。
第二、让自己的思维不至于走偏,你可能会发现官方用这个方法比你标准。
第三、正确的掌握基础知识的用法是解决更难的题的关键
比如对二叉树的操作,基本都是基于(前序,中序,后序)遍历
,找叶子节点的个数,求深度,测试是否等价等代码框架。
不能理解这些的话,很难有思路。
第四、如果你不学习新的解法的话,你会和我一样
我:emmm,这个题目应该是用暴力。

第二,刷题
刷题和平时练习有些不同
这个就是刷,把题目标成简单或中等,一直刷下去。
//1、测试边界值,一般值。(了解示例情况)
用最直接、熟悉的方式,刷题,不看题解,
//2、写题,不管你的方法有多死板,多暴力,先做出来。
这个是刷题目量,最大的好处就是专注,可以一天写好多题。

第三,算法刷题路线。
leetcode上面有许多的学习计划。这个由浅到放弃,随便点两个都够你刷的了。
还有就是刷着刷着,你会发现你会做的不多,你自然就知道你能刷什么了。。
你也可以看数据结构的书,看到哪刷到哪。
什么数组,链表,双指针,字符串,二分,排序
队列,栈,二叉树,树,二叉搜索树。
深度优先遍历,广度优先遍历->层次遍历
dp

本人小新,小小总结,如有建议,多多指教,谢谢各位

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>