LeetCode Problem -- Best Time to Buy and Sell Stock
Greedy Algorithms 贪心算法...
分类:
其他好文 时间:
2014-06-05 04:36:58
阅读次数:
239
有点意思的题目。用动态规划可以O(n)求解出来:a[i]代表子字符串string(0,i)的可能解码方式,a[i] = {a[i-1] or a[i-1]+a[i-2]}.
意思是如果string(i)不为0,至少a[i] == a[i-1],即一种解码方法是string{0,.....(i-1)}+string(i);
然后如果string{i-1,i}是合法的(注意合法概念,比如...
分类:
其他好文 时间:
2014-06-05 03:36:48
阅读次数:
231
问题描述
平面上有N*M个格子,每个格子中放着一定数量的苹果。你从左上角的格子开始,每一步只能向下走或是向右走,每次走到一个格子上就把格子里的苹果收集起来,这样下去,你最多能收集到多少个苹果。
输入:
第一行输入行数和列数
然后逐行输入每个格子的中的苹果的数量
输出:
最多能收到的苹果的个数。
思路分析
这是一个典型的二维数组DP问题
基本状态:
当你到达第x行第y列的格子的时...
分类:
移动开发 时间:
2014-06-05 02:00:15
阅读次数:
1272
题目描述:
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?
输入:
输入有多组数据,每组测试数据包括两行。
第一行为一个整数n(0<=n<=100000),当n=0时,输入...
分类:
其他好文 时间:
2014-06-05 01:47:51
阅读次数:
227
本题使用动态规划法, 或者记忆法,加上递归法。
不加上递归法,好像很麻烦,因为我们不知道其初始值,只知道其最终值,所以只能往下递推了,这样使用记忆法就比动态规划要方便了。
使用二维表设计其递归记忆表,防止重复计算。还是十分困难的,动态规划法有时候不一定比记忆法要好。
递归记忆法的学名: top-down with memoization; Introduction to Algorithm的Dynamic programming 这章有介绍...
分类:
其他好文 时间:
2014-06-02 23:04:24
阅读次数:
397
最大m子段和问题 Max Sum Plus Plus —— 动态规划...
分类:
其他好文 时间:
2014-06-01 16:18:49
阅读次数:
259
Problem
Description度度熊是一只喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一格,且只能向上向下向右走以前没有走过的格子,每一个格子中都有一些金币(或正或负,有可能遇到强盗拦路抢劫,度...
分类:
其他好文 时间:
2014-06-01 12:29:57
阅读次数:
246
本文主要讲解用动态规划解决矩阵链乘的问题,我也利用公式编辑器编辑出了状态转移方程,也给出了代码,大家可以参考。
分类:
编程语言 时间:
2014-06-01 11:26:16
阅读次数:
277