动态规划法实现找零 java
来源:互联网 发布:成都java平均工资 编辑:程序博客网 时间:2024/06/18 11:41
最近熟悉了下动态规划法,该方法是一种求解最优化问题的算法设计策略,原问题的最优值可以分解成子结构,且该子结构同样是最优的才成立。这种最优子结构,它与贪心法很相似,当然深入一下,就会发现有本质的区别,贪心法是以自顶向下的方式使用最优子结构的,贪心法会先做出选择没在当时看起来是最优的选择,然后是在求解一个结果的子问题。而动态规划法是自底向上的使用子结构,他是先寻找到子问题的最优解,然后是在做选择。同时在动态规划法中存储重复子问题,通俗的一个问题划分两个值问题,在就两个值问题的过程中,往下的值问题会可能存在重复的值问题。下面我写了个大面值找硬币的实现。
package dynamicplanforcoinchange;/** * @author leon(liangzou0318@gmail.com) * @date 2012-11-22 * @filaname CoinsChangeimpl.java */public class CoinsChangeimpl { public static int makechanges(int money,int[] valuekinds){ int mincoins=money; for(int i=0;i<valuekinds.length;i++){ if(money<valuekinds[i]){ continue; } else{ int temp=makechanges(money-valuekinds[i],valuekinds)+1; if(mincoins>temp){ mincoins=temp; } } }return mincoins; }public static void main(String[] args) {int[] valuekinds=new int[]{25,21,10,5,1};int money=63;int a=makechanges(money,valuekinds);System.out.println(a);}}
运行结果是:3
- 动态规划法实现找零 java
- 动态规划法求解硬币找零(Java)
- 动态规划法求解硬币找零(Java)
- 动态规划求解硬币找零问题——Java实现
- 【动态规划】买票找零
- 找零问题 动态规划
- 找零的递归和循环实现,动态规划
- 动态规划算法求解硬币找零问题(Java)
- 动态规划算法求解硬币找零问题(Java)
- JAVA动态规划(一)--最少硬币找零问题
- 动态规划算法求解硬币找零问题(Java)
- 硬币找零(动态规划)
- 硬币找零问题 - 动态规划
- 动态规划之找零问题
- 动态规划之找零问题
- 硬币找零问题(动态规划)
- 硬币找零问题(动态规划求解)
- 最少硬币找零问题-动态规划
- ANDROID音频系统散记之一:A2dpAudioInterface
- uboot usb ehci 控制传输
- Java 枚举7常见种用法
- oracle 触发器
- 使用scan-build
- 动态规划法实现找零 java
- 计算偏移的方法直接用;
- 【转】ASP.NET ViewState详解
- Android数据库编程教程
- spoj 1557GSS2 线段树之综合
- linux 安装ORACLE前配置
- ANDROID音频系统散记之二:resample-1
- 运用googleapi做图(折线图 饼图)
- Codeforces Round #117 (Div. 2) E. Wooden Fence