leetcode322. Coin Change

辣鸡如我,居然现在完全背包还要想这么久

https://leetcode.com/problems/coin-change/

You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of money cannot be made up by any combination of the coins, return -1.

Example 1:

Input: coins = [1, 2, 5], amount = 11
Output: 3 
Explanation: 11 = 5 + 5 + 1

Example 2:

Input: coins = [2], amount = 3
Output: -1

 

class Solution {
public:
    int coinChange(vector<int>& coins, int amount) {
        int dp[20000];
        for (int i = 1; i < 20000; i ++)
            dp[i] = 0x3f3f3f3f;
        dp[0] = 0;
        for (int i = 1; i <= amount ; i ++) {
            for (int j = 0; j < coins.size() ; j ++) {
                if (coins[j]  <= i) {
                    dp[i] = min(dp[i - coins[j]] + 1, dp[i]);
                }
            }
        }
        if (dp[amount] != 0x3f3f3f3f)
            return dp[amount];
        else
            return -1;
    }
};

 

全部评论

相关推荐

08-20 16:21
已编辑
University of Oxford Java
SlovinG:1. 简历去超级简历换个模板,眉页和基本信息占比这么多没必要。 2. 籍贯和所在地,如果投本地企业可以,投外地企业有时候会给自己埋坑。 3. 教育背景的至今改成确切日期。主修课程去掉,就算要写也不要超过一行,没意义。GPA3.25为什么是前15%,这么低就可以前15%吗。。。很难保证面试官不会有我这样的困惑,如果这里有问题可以删掉。 4. 专业技能中,MySQL的事务、索引、锁等特性建议写上去,不然太浅了。 5. Redis同样的问题,写的太浅。 6. 中间件你这里狂堆框架,别这样做,这是很多学生的误区。 7. 前端技术去掉,投后端没必要写这些,太杂了。 8. 项目内容非常单薄,看不出来任何亮点,且描述方式没有使用star法则,面试官几乎无法从中提取任何有效信息。 9. 校园经历,遵循一下star法则来描述。 10. 按照我说的改了之后,如果篇幅超过一页,自我评价可以删掉。 总结:学生以为堆砌框架就是“有技术”,其实根本不是这回事,校招更在意知识的深度和掌握程度。在写简历的时候,应该换位思考,想象如果你是面试官,你希望看到怎样的简历,你能否从这份简历中判断出这个人的水准。想要从一堆简历中脱颖而出,只达到及格线是不够的,要尽力展现出自己和别人不一样的地方。
投递用友等公司10个岗位 实习,投递多份简历没人回复怎么办
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务