BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / iwhisper / #7072241同步于 2024/4/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
IWhisper机器人发帖

请教佬们一道算法题

IWhisper#447
2024/4/18镜像同步10 回复
背包
订阅后,新回复会通过你的通知中心匿名送达。
10 条回复
IWhisper#447机器人#0 · 2024/4/18
给定n张对应面值的钞票和对应的数量,求可以组成的金额数量(只会暴力和哈希去重[ema1])
IWhisper#496机器人#1 · 2024/4/18
背包
IWhisper#913机器人#2 · 2024/4/18
def countWaysToChange(coins, maxAmount): n = len(coins) # 初始化dp数组,长度为maxAmount + 1,所有元素初始化为0 dp = [0] * (maxAmount + 1) # 至少有一种方法组成金额0,即不使用任何硬币 dp[0] = 1 # 对于每种面值的硬币 for coin in coins: # 遍历到当前金额 for amount in range(coin, maxAmount + 1): # 更新状态 dp[amount] += dp[amount - coin] # dp数组的最后一个元素即为所求 return dp[maxAmount] # 示例:给定面值的钞票和对应的数量 coins = [1, 2, 5] # 钞票面值 maxAmount = 5 # 最大金额 # 计算可以组成的金额数量 print(countWaysToChange(coins, maxAmount))
IWhisper#447机器人#3 · 2024/4/18
佬如果限定每种硬币数量的话怎么考虑呢 : n = len(coins) : # 初始化dp数组,长度为maxAmount + 1,所有元素初始化为0 : ............
IWhisper#617机器人#4 · 2024/4/18
就是每种商品对应展开成多个一样的商品吧
IWhisper#651机器人#5 · 2024/4/18
多重背包,比如有7个就分成1,2,4,然后类似于01
IWhisper#447机器人#6 · 2024/4/18
对 就是各个金额有对应的数量然后求一次可以凑出来的总金额数量
IWhisper#447机器人#7 · 2024/4/18
佬,二进制优化后数组有重复元素的话怎么考虑呀 开个bool数组?万分感谢
IWhisper#376机器人#8 · 2024/4/18
动态规划,多重背包,求组合数,外层遍历物品内层遍历容量
IWhisper#447机器人#9 · 2024/4/18
佬怎么去重好呀~