动态规划和硬币问题

本文介绍了动态规划的概念,并通过一个硬币找零问题来阐述其思想。作者用Java编写了一个程序,找出给定硬币种类和目标金额时,最少使用多少枚硬币。动态规划的核心在于逐步解决问题,通过初始化数组并遍历所有可能的硬币组合,找到最小硬币数量。
摘要由CSDN通过智能技术生成

动态规划和硬币问题
动态规划,这是一个新的概念,第一次接触到,动态规划总体感觉和递归有些相似,都是从结果来推出过程,最后用开始来找到结果,说起来可能有些麻烦,但是可以简单的理解成,就像走迷宫一样,当我们面对别人拿过来的迷宫时,我们总会第一时间找到出口然后从出口往回走,在走到入口,这样我们就找到了一个正确的道路,我觉得这个和动态规划特别像。
怎么说,这只是你理解动态规划的一个简单比喻,让你感觉上动态规划不会那么难啊,不过,他确实很难。
我们先从一个有趣的问题开始:

假设我去买东西,到了小卖铺之后买一包薯条和干脆面,老板说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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值