Skip to content

算法学习心得

labuladong

算法的本质是穷举

部分我们所了解的算法是这样的,至于特殊的部分算法偏数学或脑筋急转弯类的需要一定的观察、规律、原理才能解决

穷举也不简单:无遗漏、无冗余

  • 遗漏,会直接导致答案出错
  • 冗余,会拖慢算法的运行速度

当你看到一道算法题,可以从这两个维度去思考:

  • 如何穷举?即无遗漏地穷举所有可能解
  • 如何聪明地穷举?即避免所有冗余的计算,消耗尽可能少的资源求出答案

不同类型的题目,难点不同,有的难在「如何穷举」上(递归类),有的难在「如何聪明地穷举」上(非递归算法类,本质是优化算法的时间、空间复杂度)

正确的刷题方式应该是刷一道题能获得刷十道题的效果,不然力扣现在 2000 道题目,你都打算刷完么?

要有框架思维,学会提炼重点,一个算法技巧可以包装出一百道题,如果你能一眼看穿它的本质,那就没必要浪费时间刷了。同时,在做题的时候要思考,联想,进而培养举一反三的能力

原文链接🔗