常用算法总结
1.分而治之:有点类似“大事化小、小事化了”的思想,经典的归并排序和快速排序都用到这种思想,可以看看 Search a 2D Matrix II 来理解这种思想。
2.动态规划:有点类似数学中的归纳总结法,找出状态转移方程,然后逐步求解。 309. Best Time to Buy and Sell Stock with Cooldown 是理解动态规划的一个不错的例子。
3.贪心算法:有时候只顾局部利益,最终也会有最好的全局收益。122. Best Time to Buy and Sell Stock II 看看该如何“贪心”。
4.搜索算法(深度优先,广度优先,二分搜索):在有限的解空间中找出满足条件的解,深度和广度通常比较费时间,二分搜索每次可以将问题规模缩小一半,所以比较高效。
5.回溯:不断地去试错,同时要注意回头是岸,走不通就换条路,最终也能找到解决问题方法或者知道问题无解,可以看看 131. Palindrome Partitioning。
转载自:https://blog.csdn.net/chekongfu/article/details/82916504