8月leetcode刷题总结
Posted patatoforsyj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8月leetcode刷题总结相关的知识,希望对你有一定的参考价值。
刷题链接:https://leetcode-cn.com/explore/
根据leetcode的探索栏目,八月份一直在上面进行刷题。发现算法题真的好难,真-计算机思维。
核心是将现实问题转化为计算机能够处理的计算问题。而这些计算问题都是通过逻辑分析来解决的。
因此逻辑-分析能力就是计算机思维的核心能力。比如将一个数组的增删改查,是通过逻辑中的
if -else while 这些基本语句构成的。
引用左神的算法刷题方法:“
第一阶段:对于某一个具体的算法,首先要搞清楚这个算法解决的问题是什么,可能是实现一个具体的功能,也可能是在某些方面,比如时间复杂度或者空间复杂度方面很卓越,总之搞清楚这个算法被研究出来的目的是什么。
第二阶段:然后就要弄清楚这个算法的生存环境了,也就是看看你此时研究的东西是不是对别的知识有依赖,应该先把底层依赖的知识理解并掌握。这些问题都解决之后,就进入到算法本身的学习,理解一个算法是一件辛苦的事情,刚开始看必然会产生很多的困惑,比如经常会怀疑作者讲述的内容的重要性?这些内容和这个算法有什么联系呢?经常会有这种摸不着头脑的感觉,其实作者做的铺垫都是为了建立起描述算法主要内容的基础,只有接受和理解这些基础,才能逐渐触碰到算法的精髓,所以耐心是很重要的。
第三阶段:算法的主要过程看完之后,往往还是会感到困惑,主要是不知道这个过程好在哪,这就进入了下一个阶段,理解作者对这个过程在功能性或者效率卓越这件事上的解释和证明。这才真正触碰到算法最精髓的部分,也就是深度的理解算法的主要过程所带来的好处,这才是最锻炼人理解能力的地方。
第四阶段:上面几点是算法学习阶段的过程了,接下来就是研究算法的代码实现,自己设计测试用例亲自跑一下代码,以及从代码运行时间的角度分析这个算法的优势,这也是加深对算法的理解的过程。
第五阶段:最后是配合相应的题目练习,让自己通过题目练习的方式,会用、善用学习到的算法,并对这个算法产生一定的敏感程度,具体是指看到某些题目时,能够根据题目的特点,产生与该算法的对应,也就是具备举一反三的能力。”
废话不多说:进行刷题的总结,以下内容持续更新。按照探索的顺序将题目分为以下:
以上是关于8月leetcode刷题总结的主要内容,如果未能解决你的问题,请参考以下文章