摘要:
代码中的两个方法都是动态规划。第二种方法很好理解,第一种方法是在第二种方法基础上进行优化,即“降维”,变成一维动态规划。如soulmachine所写,对于f[j] = f[j - 1] + f[j];右边的f[j],表示老的f[j],与公式中的f[i-1][j] 对应左边的f[j],表示更新后的f[... 阅读全文
posted @ 2014-09-23 17:14
Ryan in C++
阅读(168)
评论(0)
推荐(0)
摘要:
这篇文章的主题是动态规划, 主要介绍LeetCode中一维动态规划的题目, 列表如下:Climbing StairsDecode WaysUnique Binary Search TreesMaximum SubarrayBest Time to Buy and Sell Stock在介绍上述具体题... 阅读全文
posted @ 2014-09-23 15:21
Ryan in C++
阅读(449)
评论(0)
推荐(0)
摘要:
在判断两个浮点数a 和b 是否相等时,不要用a==b,应该判断二者之差的绝对值fabs(a-b) 是否小于某个阀值,例如1e-9。判断一个整数是否是为奇数,用x % 2 != 0,不要用x % 2 == 1,因为x 可能是负数。用char 的值作为数组下标(例如,统计字符串中每个字符出现的次数),要... 阅读全文
posted @ 2014-09-23 14:42
Ryan in C++
阅读(203)
评论(0)
推荐(0)
摘要:
第一种是迭代,第二种是DP,第三种是斐波那契数列的通项公式。此外,soulmachine的书上还指出,递归也可以,只是速度太慢。 1 #include 2 #include 3 using namespace std; 4 5 class Solution { 6 public: 7 ... 阅读全文
posted @ 2014-09-23 14:10
Ryan in C++
阅读(274)
评论(0)
推荐(0)