动态规划和硬币问题
动态规划,这是一个新的概念,第一次接触到,动态规划总体感觉和递归有些相似,都是从结果来推出过程,最后用开始来找到结果,说起来可能有些麻烦,但是可以简单的理解成,就像走迷宫一样,当我们面对别人拿过来的迷宫时,我们总会第一时间找到出口然后从出口往回走,在走到入口,这样我们就找到了一个正确的道路,我觉得这个和动态规划特别像。
怎么说,这只是你理解动态规划的一个简单比喻,让你感觉上动态规划不会那么难啊,不过,他确实很难。
我们先从一个有趣的问题开始:
假设我去买东西,到了小卖铺之后买一包薯条和干脆面,老板说27,(你可能会想,这么贵,没错,我买的时超级豪华版干脆面),我口水流下三千尺,一掏口袋(没有钱)2,3,5块的硬币都有一大堆,所以老板就说,你给我个整的吧,我不想找你钱了(老板挺懒的),不过,我更懒,哈哈,我就想有没有一种方式能让我给最少的硬币,我不想拿太多挺重的。综合这些要求让我们求解。我想不需要多久就能出结果,但如果编写成代码呢。
package yingbi;
import shazi.yunsuan;
import java.util.ArrayList;
import java.util.Scanner;
public class yingbi {
public static void main(String args[])
{
Array