题目描述: 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 ...
分类:
其他好文 时间:
2020-05-05 18:01:38
阅读次数:
45
1.区分状态 1)确定状态,分解问题 2) 子问题,子问题关系 2.初始条件,边界条件 1) DP(0) 2) 计算顺序 3.针对问题 1)计数,多少种方式,多少种组合,硬币问题 2)最值,最优代价问题,背包问题 3) 存在性问题 ...
分类:
其他好文 时间:
2020-05-05 16:19:04
阅读次数:
53
"TOC" 个人博客: 概率与似然 对于最大似然估计我们使用最简单的抛硬币问题来进行讲解 概率 当我们抛一枚硬币的时候,就可以去猜测抛硬币的各种情况的可能性,这个可能性就称为 概率 一枚质地均匀的硬币,在不考虑其他情况下是符合二项分布的,即正面和翻面的概率都是0.5,那么我们抛10次硬币5次正面在上 ...
分类:
其他好文 时间:
2020-05-03 10:48:22
阅读次数:
61
LCP 06. 拿硬币 难度简单 桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。 示例 1: 输入:[4,2,1] 输出:4 解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 ...
分类:
其他好文 时间:
2020-04-28 20:09:10
阅读次数:
64
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fe... ...
分类:
编程语言 时间:
2020-04-26 17:09:30
阅读次数:
102
一.动态规划基本结构 二.典型例题 2.1 矩阵链 问题:给定一个n个矩阵的矩阵链,矩阵的维度为 (1 ≤ i ≤ n),求一个最优的加括号方案,使得计算矩阵乘积所需要的标量乘法次数最少。 解法:1.穷举法: 定义T(N)是顺序的个数,则T(N)=Σ(i=1,N-1)T(i)T(N-i),有cata ...
分类:
编程语言 时间:
2020-04-25 23:11:42
阅读次数:
85
爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 不难发现,对于要抵达的第n阶台阶,有两种方式可以抵达。 1. 在第 (i?1) 阶后向上爬 1 阶。 2. 在第 (i 2) 阶后向上爬 2 ...
分类:
其他好文 时间:
2020-04-25 17:04:41
阅读次数:
55
动态规划套路详解 描述 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = ...
分类:
其他好文 时间:
2020-04-24 20:11:45
阅读次数:
75
题目描述: 给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)。例如n = 5的时候,结果为2(5 = 5 , 5 = 1+1+1+1+1) 题解: 定义dp[i]表示和为i的时候有几种分法。这里状态的转移要注 ...
分类:
其他好文 时间:
2020-04-24 10:24:09
阅读次数:
77
class Solution { public int waysToChange(int n) { int[] dp = new int[n + 1]; int[] coins = new int[]{1,5,10,25}; //刚好可以用一个硬币凑成的情况,是一种情况 // while i == ...
分类:
其他好文 时间:
2020-04-24 00:42:09
阅读次数:
71