找零问题的方案数(背包问题)

class Solution {
    /**
     * 换零钱方案数
     * @param coins 零钱种类
     * @param total 总钱数
     * @return 总的方案数
     */
    public int exchange(int [] coins,int total) {
        int [][]dp = new int[coins.length+1][total+10];
        //int coins[]={1,2,5,10};
        int size=coins.length;

        for (int i = 0; i <= size; i++) {
            dp[i][0] = 1;
        }
        for (int i = 1; i <= size; i++) {
            for (int j = 0; j <= total; j++) {
                dp[i][j] = dp[i-1][j];
                if (j >= coins[i - 1]) {
                    dp[i][j] += dp[i][j - coins[i - 1]];
                }
            }
        }
        return dp[size][total];
    }

};
全部评论

相关推荐

10-15 20:01
已编辑
上海大学 Java
钉钉什么垃圾公司,约面鸽人
Syca_:途虎养车给我定了我这边早上六点的笔试,睡了四个小时起来难受的要命,告诉我面试时间是两天后的凌晨四点
点赞 评论 收藏
分享
LuvSran:是人我吃。老师就是学校呆久了,就业方面啥都不懂,还自以为是为了我们就业好。我学校就一破双非,计科入行率10%都没有,某老师还天天点名,说是出勤率抬头率前排率高了,华为什么的大厂就会来,我们就是不好好上课才没有厂来招。太搞笑了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务