日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

java動(dòng)態(tài)規(guī)劃算法——硬幣找零問題實(shí)例分析

瀏覽:247日期:2023-08-15 13:17:38

本文實(shí)例講述了java動(dòng)態(tài)規(guī)劃算法——硬幣找零問題。分享給大家供大家參考,具體如下:

問題描述

現(xiàn)在有3種硬幣分別為:1元,5元,10元,現(xiàn)在給你63元,讓你全部換成硬幣,求出最小硬幣數(shù)量,也就是說,怎么用最少的硬幣數(shù)湊成63元。

分析問題

解決這個(gè)問題,我們可以將這個(gè)大問題分成若干個(gè)小問題,自下而上解決問題。

1元對(duì)應(yīng)的最小硬幣數(shù)是1

2元對(duì)應(yīng)的最小硬幣數(shù)是2

3元對(duì)應(yīng)的最小硬幣數(shù)是3

4元對(duì)應(yīng)的最小硬幣數(shù)是4

……

63元對(duì)應(yīng)的最小硬幣數(shù)是XXX

假設(shè)我們將前邊計(jì)算出的金額對(duì)應(yīng)的最小硬幣數(shù)像備忘錄一樣記錄下來,那么后邊金額對(duì)應(yīng)的最小硬幣數(shù)的就好說了,為什么?

舉例:假設(shè)你要求63的最小硬幣數(shù),那么你需要這樣計(jì)算:63-1=62、63-5=58、63-10=53。假設(shè)62、58、53對(duì)應(yīng)的最小硬幣數(shù)已經(jīng)被你記錄在了備忘錄數(shù)組。這時(shí)候你只需要找出62、58、53中誰對(duì)應(yīng)的最小硬幣數(shù)最小,然后加1,就是63對(duì)應(yīng)的最小硬幣數(shù)。因?yàn)?3比62、58、53都大,最好的情況無非就是在62、58、53中找出最小的一種情況加1,這就是最優(yōu)解!

按照這種備忘錄思想,我們進(jìn)行編程。首先將我們要處理的數(shù)據(jù)轉(zhuǎn)換成數(shù)組和必要參數(shù)。

int[] coins = { 1 , 5 , 10 }; //硬幣面額數(shù)組int adm = 63; //要求的金額int[] money = new int[63+1]; //金額數(shù)組,也就是備忘錄數(shù)組

說明:money數(shù)組就是備忘錄數(shù)組,例如:money[0]對(duì)應(yīng)0,money[1]對(duì)應(yīng)1,money[2]對(duì)應(yīng)2……

接下來,將我們上邊的解題思路抽象成函數(shù),函數(shù)中無非就是:循環(huán),判斷,賦值……如何利用這些邏輯語句,將我們的思路描述出來,這是最難的,因?yàn)橐龅降嗡宦?,情況都要考慮周全,一步錯(cuò)結(jié)果就錯(cuò),這需要長(zhǎng)久鍛煉抽象邏輯思維。我比較習(xí)慣的方式是邊看代碼,邊關(guān)聯(lián)結(jié)題思路,然后模仿,代碼中有注釋,大家邊看邊分析吧:

public static void main(String[] args) { int[] coins = {1,5,10}; int money = 63; changeMoney(coins,money);} /** * 硬幣找零算法,備忘錄方法 * @param coins 硬幣面額數(shù)組 * @param money 目標(biāo)金額 */public static void changeMoney( int[] coins , int money ) { //備忘錄數(shù)組,一一對(duì)應(yīng) int[] memo = new int[money + 1]; //0元對(duì)應(yīng)的最小硬幣數(shù)是0 memo[0] = 0; System.out.println( '金額t' + '對(duì)應(yīng)的最小硬幣數(shù)' ); //遍歷備忘錄數(shù)組,為每個(gè)金額記錄他的最小硬幣數(shù),我們從1元開始 for( int currentMoney = 1 ; currentMoney <= money ; currentMoney++ ) { //默認(rèn)最小硬幣數(shù)就是當(dāng)前金額的本身 //舉例:63元最多就是63個(gè)1元的硬幣唄 int minCoins = currentMoney; //遍歷硬幣面額數(shù)組,找到前邊所能找到的最小硬幣數(shù)加1 for( int coinKind = 0 ; coinKind < coins.length ; coinKind++ ) { //只有當(dāng)前金額大于等于某個(gè)硬幣面額的時(shí)候才可以用這種方法 //舉例:5-1=4,5-5=0,5-10=-5,我們沒有-5元好吧…… if( currentMoney >= coins[coinKind] ) { //我們?cè)趥渫浿胁檎抑暗慕痤~對(duì)應(yīng)的最小硬幣數(shù) //如果能查到就在它的基礎(chǔ)上加1 int tempCoins = memo[currentMoney - coins[coinKind]] + 1; //找到幾種情況中最小的硬幣數(shù) //舉例:63元 tempConis //可以是memo[63-1]+1、memo[63-5]+1、memo[63-10]+1 //我們要找到最小的 if( tempCoins < minCoins ) { minCoins = tempCoins; } } } //找到當(dāng)前金額對(duì)應(yīng)的最小硬幣數(shù),我們將它記錄在備忘錄中 memo[currentMoney] = minCoins; System.out.println( currentMoney + 't' + memo[currentMoney] ); }}

運(yùn)行結(jié)果

金額對(duì)應(yīng)的最小硬幣數(shù)1122334451627384951011121231341451521631741851962022132242352462532642752862973033143253363473543653763873984044154264374484554664774884995055165275385495565675785895910606617628639

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

標(biāo)簽: java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩黑人| 午夜av成人| 国产精品99免费看| 裤袜国产欧美精品一区| 美女高潮久久久| 国产精品久久久久久久久免费高清| 亚洲欧美日本日韩| 亚洲女同一区| 最新日韩av| 99热精品在线| 久久精品亚洲人成影院 | 日韩精品第二页| 日韩一区二区三区免费视频 | 久久蜜桃精品| 久久高清精品| 亚洲国产日韩欧美在线| 亚洲欧美日韩高清在线| 999在线观看精品免费不卡网站| 999国产精品视频| 欧美色图国产精品| 九色精品91| 先锋影音国产一区| 亚洲一区二区三区中文字幕在线观看 | 日韩在线卡一卡二| 综合激情一区| 日本特黄久久久高潮| 国产乱子精品一区二区在线观看| 国产欧美另类| 高清久久一区| 国产在线|日韩| 亚洲国产成人精品女人| 蜜臀精品一区二区三区在线观看 | 麻豆精品在线| 日韩在线欧美| 国产色综合网| 91亚洲精品视频在线观看| 国产精品一区二区三区av麻| 精品三级国产| 激情婷婷久久| 日韩一区二区三免费高清在线观看| 日韩国产欧美三级| 国产精品**亚洲精品| 成人在线视频区| 国产一在线精品一区在线观看| 亚洲欧美日韩国产综合精品二区| 日韩亚洲精品在线观看| 你懂的国产精品永久在线| www.com.cn成人| 亚洲欧美久久| 免费精品一区| 蜜桃tv一区二区三区| 亚洲91在线| 成人精品国产亚洲| 视频在线观看国产精品| 97成人在线| 日韩综合精品| 亚洲伊人精品酒店| 黄色网一区二区| 在线综合视频| 国产精成人品2018| 在线综合欧美| 九九99久久精品在免费线bt| 91成人精品| 免费一级欧美片在线观看网站| 韩国三级一区| 日韩av一区二| 亚洲国产专区| 国产精品黄色片| 夜夜嗨一区二区三区| 精品99在线| 丝袜美腿高跟呻吟高潮一区| 国产经典一区| 欧美资源在线| 成人精品久久| 日韩激情网站| 五月天激情综合网| 久久天堂影院| 综合日韩在线| 久久久久久久久久久妇女 | 欧美亚洲人成在线| 黄色亚洲精品| 久久精品福利| 一区二区亚洲视频| 999久久久精品国产| 久久黄色影视| 亚洲欧美日韩高清在线| 久久久久久久欧美精品| 精品午夜久久| 欧美亚洲色图校园春色| 91国语精品自产拍| 国产一区二区久久久久| 亚洲精品第一| 免费不卡中文字幕在线| 精品国产欧美日韩| 日韩美女精品| 91精品观看| 婷婷综合六月| 国产欧美69| 视频在线在亚洲| 久久久久久久久99精品大| 久久99影视| 欧美三区不卡| 蜜桃视频在线观看一区| 久久国产电影| 成人日韩精品| 在线中文字幕播放| 老司机免费视频一区二区三区| 亚洲+小说+欧美+激情+另类| 亚洲国产日韩欧美在线| 欧美日韩尤物久久| 国产综合色区在线观看| 黄色aa久久| 国产精品美女久久久久久不卡| 亚洲精品亚洲人成在线观看| 久久国产精品毛片| 在线精品视频在线观看高清| 91精品推荐| 久久黄色影院| 日韩电影免费网址| 日韩大片在线| 久久天堂精品| 91精品国产成人观看| 久久久久网站| 午夜精品成人av| 国产高清不卡| 女生影院久久| 啪啪国产精品| 91精品韩国| 成人在线网站| 欧美日韩一二三四| 欧美午夜精彩| 国产精品88久久久久久| 欧美综合另类| 91精品99| 久久亚洲图片| 日韩中文字幕| 日本午夜精品视频在线观看| 日韩和欧美的一区| 国产欧美69| 美腿丝袜亚洲一区| 久久久久久色| 免费亚洲一区| 久久天堂影院| 国产传媒av在线| 久久夜夜操妹子| 欧美天堂亚洲电影院在线观看| 亚洲免费观看| 最新国产精品视频| 国产三级一区| 高清久久一区| 国产尤物精品| 中文无码日韩欧| 欧美一区精品| 毛片在线网站| 激情欧美国产欧美| 免费观看在线综合色| 91精品国产自产观看在线| 国产精品一区二区精品| 久久免费视频66| 久久国产电影| 亚洲青青久久| 免费亚洲婷婷| 亚洲a一区二区三区| 中文亚洲免费| 日本强好片久久久久久aaa| 黄色网一区二区| av成人国产| 国产无遮挡裸体免费久久| 日韩av有码| 午夜久久免费观看| 深夜日韩欧美| 精品一区二区男人吃奶 | 久久精品国产成人一区二区三区| 亚洲人成在线网站| 久久亚洲风情| 国产精品啊v在线| 久久久成人网| 日韩黄色av| 桃色一区二区| 日韩久久一区| 性感美女一区二区在线观看| 亚洲精品少妇| 伊人久久视频| 一区二区三区四区日韩| 里番精品3d一二三区| 亚洲高清影视| 欧美亚洲tv| 久久精品成人| **爰片久久毛片| 今天的高清视频免费播放成人| 日韩精品国产精品| 欧美羞羞视频| 日韩精品视频在线看| 日韩中文在线电影| 日本综合视频| 久久精选视频| 欧美aa在线视频| 三级在线观看一区二区 | 国产色播av在线| 在线精品福利|