动态规划
特立独行的猪鸭
这个作者很懒,什么都没留下…
展开
-
动态规划经典题目之三 斐波那契数列
问题描述斐波那契数列 1 1 2 3 5 8 ... ... 求斐波那契数列的第n项和。问题分析 斐波那契数列的递推公式为 F(n) = 1,n=1,2; F(n) = F(n - 1) + F(n - 2), n >= 3;采用递归的方式很容易写出代码,但是递归的代码虽然简单,却存在着大量的重复子问题,重复计算,时间复杂度高。例如,我们以求解F(5)为例,如下:...原创 2018-08-30 16:41:50 · 495 阅读 · 1 评论 -
动态规划经典题目之一(斐波那契数列变形)
1.问题描述 给定一个只含正数的数组,找到数组满足条件的元素的最大和,条件是:组成最大和的所有元素不能相邻,比如数组 [3,2,7,10] 返回 13(3+10),数组 [3,2,5,10,7] 返回(3+5+7)2.问题分析 i 0 1 2 3 4 arr[i] 3 2 5 10 7 ...原创 2018-08-21 21:50:52 · 848 阅读 · 0 评论 -
动态规划经典题目之二(找零钱)
1.问题描述 现存在一堆面值为 1,2,5,11,20,50 面值的硬币,问最少需要多少个硬币才能找出总值为 N个单位的零钱?2.问题分析 定义Optimal[i]是找到总值为i的钱数所需要的最少硬币数量。那么,初始值应该为 Optimal[0] = 0; 0 元需要 0个硬币。 定义valu...原创 2018-08-25 16:11:08 · 1352 阅读 · 1 评论 -
四柱汉诺塔 -- 动态规划求解最优移动次数
1.问题描述四柱汉诺塔,在A柱上有N个盘子,**最少**经过多少次移动能把盘子全部移动到D上?2.问题分析先来回顾一下三柱汉诺塔,对于三柱汉诺塔问题,他的移动次数是固定的,若有N个盘子,那么移动次数就是2^N - 1。四柱汉诺塔多了一柱,所以移动次序变为(1)先把k个盘子,从A柱经过C,D移动到B上。(2)再把A柱上的N-K个盘子,经过C,移动到D上(这个子问题就是三柱汉诺塔问题...原创 2018-12-04 21:50:26 · 3970 阅读 · 0 评论