Re: [闲聊] 每日LeetCode

楼主: Rushia (みけねこ的鼻屎)   2023-08-11 16:44:14
https://leetcode.com/problems/coin-change-ii/description/
518. Coin Change II
给你一个数字amount 和不同种类的硬币 coins[] 价值分别为coins[i],求出
共有几种方式可以把硬币凑到恰好为 amount 价值,如果无法凑到返回0。
Example 1:
Input: amount = 5, coins = [1,2,5]
Output: 4
Explanation: there are four ways to make up the amount:
5=5
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1
Example 2:
Input: amount = 3, coins = [2]
Output: 0
Explanation: the amount of 3 cannot be made up just with coins of 2.
Example 3:
Input: amount = 10, coins = [10]
Output: 1
思路:
1.选或不选的所有组合数基本上就是dp,如果硬币 i 可以组成 amount,那就表示
存在一种组合价值恰好为 amount - coins[i],我们只要把前面的组合加总累计
即可。
2.因为题目是要求组合,对 amount = 3 来说 [1,2] 和 [2,1] 算是同一种,所以
这题要用硬币去循环(当前硬币拿或不拿)而不是用金钱。
Java Code:
作者: twosheep0603 (两羊)   2023-08-11 16:51:00
大师
作者: devilkool (对猫毛过敏的猫控)   2023-08-11 17:36:00
DP好难

Links booklink

Contact Us: admin [ a t ] ucptt.com