算法
文章平均质量分 85
泥土中的阳光
这个作者很懒,什么都没留下…
展开
-
延展问题=基本问题+特殊情况(延展问题=基本问题 分情况讨论)
对于一些在原问题基础上增加了一些条件,进而延展一个新问题的题目,往往可以视为基本问题加上特殊情况的处理。 先回顾一下之前有一篇博文提到的抢劫问题,是对一条线上的房子进行抢劫。 LeetCode 198题 You are a professional robber planning to rob houses along a street. Each house h...原创 2017-06-29 10:18:02 · 858 阅读 · 0 评论 -
从 LeetCode 279 实践动态规划
Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n.For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, r原创 2017-06-08 10:42:52 · 481 阅读 · 1 评论 -
动态规划中 用O(n)时间遍历数组
在针对一些需要遍历一个数组,同时使用广义动态规划(即至少有一个狭义动态规划条件不满足)的方法中,如何不使用递归,并且只用O(n)时间遍历数组呢?原创 2017-06-13 17:32:13 · 509 阅读 · 0 评论 -
实际问题的算法抽象——动态规划中的01背包问题
LeetCode的许多题目都不会明确告诉你用哪一类算法进行求解,甚至可能都无须用复杂算法。然而能明确用哪一类算法解决问题,将对问题的解决提供事半功倍的效果。当然有些题目即使告诉你用哪一类算法,然而如何将该问题抽象成一个数学算法,也是需要锻炼的。这里结合LeetCode 494和416给大家做一点分析。数学抽象——LeetCode 494 You are given a list...原创 2017-06-23 17:51:26 · 623 阅读 · 0 评论 -
01背包问题的扩展——二维费用 LeetCode 474
01背包问题二维费用变量。状态转移公式有所变化,如下: f[i][v][u]=max{f[i-1][v][u],f[i-1][v-c[i]][u-d[i]]+w[i]} 因此,在套用01背包问题优化空间复杂度后的代码时,需要补充增加一维的工作。原创 2017-06-26 17:58:59 · 918 阅读 · 0 评论 -
内部排序算法
内部排序算法转载 2017-07-06 09:42:45 · 193 阅读 · 0 评论 -
深度优先遍历
深度优先遍历是对先序遍历的推广。从某个元素v开始处理,然后递归遍历所有与v相邻的元素。原创 2017-07-27 11:25:47 · 586 阅读 · 0 评论 -
DP O(n)遍历 + Binary Search = O(nlogn)
LeetCode 300. Longest Increasing Subsequence原创 2017-08-28 16:27:32 · 289 阅读 · 0 评论 -
DP 人生第一道Hard,不出意外没做出来(详细注释,安慰一下自己)
LeetCode 691. Stickers to Spell WordDP四大要素,需要仔细分析原创 2017-12-26 16:08:37 · 308 阅读 · 0 评论