刷leetcode习题
Posted m0_46735209
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷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
本人小新,小小总结,如有建议,多多指教,谢谢各位
以上是关于刷leetcode习题的主要内容,如果未能解决你的问题,请参考以下文章