Leetcode算法之枚举算法篇
Datwhale|力扣刷题之枚举算法
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
本文为Datawhale组队学习之Leetcode刷题笔记,感谢Datawhale提供的学习资源以及组队学习的小伙伴们的讨论与帮助。
本文教程链接如下:Github地址
PS: 原教程使用python编写,而本文使用C++语言。
枚举算法简介枚举算法的核心思想是:通过列举问题的所有状态,将它们逐一与目标状态进行比较,从而得到满足条件的解。
由于枚举算法要通过列举问题的所有状态来得到满足条件的解,因此,在问题规模变大时,其效率一般是比较低的。但是枚举算法也有自己特有的优点:
多数情况下容易编程实现,也容易调试。
建立在考察大量状态、甚至是穷举所有状态的基础上,所以算法的正确性比较容易证明。
所以,枚举算法通常用于求解问题规模比较小的问题,或者作为求解问题的一个子算法出现,通过枚举一些信息并进行保存,而这些消息的有无对主算法效率的高低有着较大影响。
枚举算法的解题思路枚举算法解题步骤采用枚举算法解题的 ...