零钱兑换
322.零钱兑换
公式
dp[i] = Math.min(dp[i], dp[i - coin] + 1)
代码
1 | class Solution { |
dp[i] = Math.min(dp[i], dp[i - coin] + 1)
1 | class Solution { |
1 | class Solution { |
你有一大块巧克力,它由一些甜度不完全相同的小块组成。我们用数组 sweetness 来表示每一小块的甜度。
你打算和 K 名朋友一起分享这块巧克力,所以你需要将切割 K 次才能得到 K+1 块,每一块都由一些 连续 的小块组成。
为了表现出你的慷慨,你将会吃掉 总甜度最小 的一块,并将其余几块分给你的朋友们。
请找出一个最佳的切割策略,使得你所分得的巧克力 总甜度最大,并返回这个 最大总甜度。
输入: sweetness = [1,2,3,4,5,6,7,8,9], K = 5
输出: 6
解释: 你可以把巧克力分成 [1,2,3], [4,5], [6], [7], [8], [9]。 。
输入: sweetness = [5,6,7,8,9,1,2,3,4], K = 8
输出: 1
解释: 只有一种办法可以把巧克力分成 9 块。
- Search − Algorithm to search an item in a data structure.
- Sort − Algorithm to sort items in a certain order.
- Insert − Algorithm to insert item in a data structure.
- Update − Algorithm to update an existing item in a data structure.
- Delete − Algorithm to delete an existing item from a data structure.
给N个数字和一个K,把N个数字加加减减后得到的数字是否能整除K。
0/1背包相关问题
dp[j] = dp[(j - v[i]) % k] || dp[(j + v[i]) % k]
1 | #include <iostream> |