摘要: http://fisherlei.blogspot.com/2012/12/leetcode-maximum-subarray.htmlFind the contiguous subarray within an array (containing at least one number) whic... 阅读全文
posted @ 2014-09-23 21:43 Ryan in C++ 阅读(208) 评论(0) 推荐(0)
摘要: http://qiangmzsx.blog.51cto.com/2052549/802715算法设计与分析复习——第三章:动态规划第三章:动态规划1、分治算法和动态规划算法都是通过对问题进行分解,通过对子问题的求解然后进行解重构,从而实现对原问题的求解。请指出这两种算法在对问题进行分解时各自所遵循的... 阅读全文
posted @ 2014-09-23 19:02 Ryan in C++ 阅读(4539) 评论(0) 推荐(0)
摘要: 代码中的两个方法都是动态规划。第二种方法很好理解,第一种方法是在第二种方法基础上进行优化,即“降维”,变成一维动态规划。如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++ 阅读(173) 评论(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++ 阅读(453) 评论(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++ 阅读(207) 评论(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++ 阅读(275) 评论(0) 推荐(0)