动态规划经典问题Java实现
2016-04-07 12:56
501 查看
动态规划问题Java实现
如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元?
如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元?
public class DPProblem { public static void main(String[] args) { int[] cons = new int[12]; for (int i = 1; i <= 11; i++) { int cons1 = i - 1; int cons3 = i - 3; int cons5 = i - 5; int minCons = cons[cons1]; int lastCons = cons1; if(cons3>=0 && cons[cons3] < minCons){ minCons = cons[cons3]; lastCons = cons3; } if(cons5>=0 && cons[cons5]<minCons){ minCons = cons[cons5]; lastCons = cons5; } cons[i]=minCons+1; System.out.println(i+":"+cons[i]); } } }
相关文章推荐
- java String 中 intern方法的概念
- 初学Java的类和对象
- java服务器应答例子(用telnet方法测试)
- Java运算符
- Java语句的执行结构
- 自定义注释——Java
- Java常量,变量和数据类型
- Shiro学习(12)与Spring集成
- nested exception is java.io.FileNotFoundException: class path resource [spring/spring-datasource-mog
- eclipse下载安装
- Java回调机制解析
- Eclipse maven
- 快速排序(附Java实现和分析)
- 【算法】超大数组去重(Java语言实现)
- 应该被记住的 8 位 Java 人物
- Eclipse
- (MyEclipse配置Hibernate报错)SQL Error: 1146, SQLState: 42S02
- eclipse调试一个struts2例子时遇到的一些问题总结
- java.net.URISyntaxException的解决办法
- Spring中配置和读取多个Properties文件