Loading

摘要: 二分查找解题套路框架 二分查找并不简单,Knuth 大佬(发明 KMP 算法的那位)都说二分查找:思路很简单,细节是魔鬼。很多人喜欢拿整型溢出的 bug 说事儿,但是二分查找真正的坑根本就不是那个细节问题,而是在于到底要给 mid 加一还是减一,while 里到底用 <= 还是 <。 你要是没有正确 阅读全文
posted @ 2020-06-01 14:51 元宝爸爸 阅读(612) 评论(0) 推荐(1) 编辑
摘要: 回溯算法解题套路框架 解决一个回溯问题,实际上就是一个决策树的遍历过程。你只需要思考 3 个问题: 1、路径:也就是已经做出的选择。 2、选择列表:也就是你当前可以做的选择。 3、结束条件:也就是到达决策树底层,无法再做选择的条件。 如果你不理解这三个词语的解释,没关系,我们后面会用「全排列」和「N 阅读全文
posted @ 2020-06-01 13:36 元宝爸爸 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 动态规划答疑篇 这篇文章就给你讲明白两个问题: 1、到底什么才叫「最优子结构」,和动态规划什么关系。 2、为什么动态规划遍历 dp 数组的方式五花八门,有的正着遍历,有的倒着遍历,有的斜着遍历。 TOC 一、最优子结构详解 「最优子结构」是某些问题的一种特定性质,并不是动态规划问题专有的。也就是说, 阅读全文
posted @ 2020-06-01 10:39 元宝爸爸 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 动态规划解题套路框架 TOC 动态规划问题的一般形式就是求最值。动态规划其实是运筹学的一种最优化方法,只不过在计算机问题上应用比较多,比如说让你求最长递增子序列呀,最小编辑距离呀等等。 求解动态规划的核心问题是穷举。 首先,动态规划的穷举有点特别,因为这类问题存在「重叠子问题」,如果暴力穷举的话效率 阅读全文
posted @ 2020-06-01 10:09 元宝爸爸 阅读(532) 评论(0) 推荐(1) 编辑