零錢(qián)兌換

題目來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/coin-change

給定不同面額的硬幣 coins 和一個(gè)總金額 amount劈彪。編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算可以湊成總金額所需的最少的硬幣個(gè)數(shù)竣蹦。如果沒(méi)有任何一種硬幣組合能組成總金額,返回 -1沧奴。

示例 1:

輸入: coins = [1, 2, 5], amount = 11
輸出: 3 
解釋: 11 = 5 + 5 + 1

示例 2:

輸入: coins = [2], amount = 3
輸出: -1

說(shuō)明:

  • 你可以認(rèn)為每種硬幣的數(shù)量是無(wú)限的痘括。

動(dòng)態(tài)規(guī)劃解法:

class Solution {
    public int coinChange(int[] coins, int amount) {
        if(coins.length == 0)
            return -1;
        if(amount <= 0)
            return 0;
        Arrays.sort(coins);
        int[] dp = new int[amount+1];
        dp[0] = -1;
        for(int i = 1;i<=amount;i++){
            int minCount = Integer.MAX_VALUE;
            for(int j=coins.length-1;j>=0;j--){
                int tmp = coins[j];
                if(tmp <= i){
                    //取余數(shù)
                    int rem = i%tmp;
                    if(rem == 0){
                        //整除
                        minCount = Math.min(minCount,i/tmp);
                    }else{
                        //沒(méi)有整除
                        int count = i/tmp;
                        while(count > 0){
                            //取余數(shù)
                            rem = i - count*tmp;
                            if (dp[rem] != -1){
                                minCount = Math.min(minCount,dp[rem]+count);
                            }
                            count--;
                        }
                    }
                }
            }
            if(minCount == Integer.MAX_VALUE){
                dp[i] = -1;
            }else{
                dp[i] = minCount;
            }
        }
        return dp[amount];
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子纲菌,更是在濱河造成了極大的恐慌挠日,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翰舌,死亡現(xiàn)場(chǎng)離奇詭異嚣潜,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)椅贱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)懂算,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人庇麦,你說(shuō)我怎么就攤上這事计技。” “怎么了女器?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵酸役,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我驾胆,道長(zhǎng)涣澡,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任丧诺,我火速辦了婚禮入桂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘驳阎。我一直安慰自己抗愁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布呵晚。 她就那樣靜靜地躺著蜘腌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪饵隙。 梳的紋絲不亂的頭發(fā)上撮珠,一...
    開(kāi)封第一講書(shū)人閱讀 51,521評(píng)論 1 304
  • 那天,我揣著相機(jī)與錄音金矛,去河邊找鬼芯急。 笑死,一個(gè)胖子當(dāng)著我的面吹牛驶俊,可吹牛的內(nèi)容都是我干的娶耍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼饼酿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼榕酒!你這毒婦竟也來(lái)了胚膊?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤想鹰,失蹤者是張志新(化名)和其女友劉穎澜掩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體杖挣,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肩榕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惩妇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片株汉。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖歌殃,靈堂內(nèi)的尸體忽然破棺而出乔妈,到底是詐尸還是另有隱情,我是刑警寧澤氓皱,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布路召,位于F島的核電站,受9級(jí)特大地震影響波材,放射性物質(zhì)發(fā)生泄漏股淡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一廷区、第九天 我趴在偏房一處隱蔽的房頂上張望唯灵。 院中可真熱鬧,春花似錦隙轻、人聲如沸埠帕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)敛瓷。三九已至,卻和暖如春斑匪,著一層夾襖步出監(jiān)牢的瞬間呐籽,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工秤标, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绝淡,地道東北人宙刘。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓苍姜,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親悬包。 傳聞我的和親對(duì)象是個(gè)殘疾皇子衙猪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一、零錢(qián)兌換I 給定不同面額的硬幣 coins 和一個(gè)總金額 amount。編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算可以湊成總金額所需的...
    王王王王王景閱讀 1,895評(píng)論 0 3
  • 一.給定不同面額的硬幣 coins 和一個(gè)總金額 amount垫释。編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算是否可以湊成總金額丝格。如果可以組成...
    JBryan閱讀 844評(píng)論 0 1
  • 給定不同面額的硬幣 coins 和一個(gè)總金額 amount。編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算可以湊成總金額所需的最少的硬幣個(gè)數(shù)棵譬。...
    間歇性發(fā)呆閱讀 165評(píng)論 0 0
  • 322. 零錢(qián)兌換 給定不同面額的硬幣 coins 和一個(gè)總金額 amount显蝌。編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算可以湊成總金額所...
    傅晨明閱讀 263評(píng)論 0 0
  • 問(wèn)題 給定不同面額的硬幣(coins)和一個(gè)總金額(amount) 。寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算可以湊成總金額所需的最少的硬...
    BeckJin閱讀 6,119評(píng)論 0 2