动态规划——零钱兑换(python)

思路:

dpi定义为,求能够凑成数i所需要的最少个数为dpi。状态转移:dpi=min(dpi-coins\[i]+1,dpi。这里是求个数!求个数!求个数! 所以这里是由上个状态加数字1转移,这里要好好理解。

复制代码
def coinsChange(coins,n):
    #求能凑成i的最少个数
    dp=[float('inf')]*(n+1)
    dp[0]=0
    for i in range(1,n+1):
        for j in coins:
            if i>=j:
                dp[i]=min(dp[i-j]+1,dp[i])
    if dp[n]==float('inf'):
        return -1
    return dp[n]


def main():
    coins=list(map(int,input().split()))
    n=int(input())
    res=coinsChange(coins,n)
    print(res)

if __name__=="__main__":
    main()
相关推荐
怕浪猫6 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
高洁017 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记7 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
朝朝辞暮i7 小时前
VLA 系统学习第 1 课:VLA 到底在干什么?
人工智能·python·计算机视觉·vla
2601_962885728 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
北冥有鱼被烹8 小时前
VCSEL全景解析:与光模块NPO CPO的关系、市场量化分析与产业链影响
python
caoerzhong8 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
正在走向自律9 小时前
AI数据分析与可视化:从基础到应用实践
服务器·人工智能·python·机器学习·数据分析·pandas
databook9 小时前
从手动检查到自动监控:一个数据质量工作流的实现
后端·python·数据分析
一只小小的芙厨10 小时前
【线性DP】
学习·算法·动态规划