zoukankan      html  css  js  c++  java
  • 【LEETCODE】76、面试题 08.11. 硬币

    package dynamicprogramming.medium;
    
    /**
     * @Auther: xiaof
     * @Date: 2020/4/23 09:17
     * @Description:面试题 08.11. 硬币
     * 硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)
     *
     * 示例1:
     *  输入: n = 5
     *  输出:2
     *  解释: 有两种方式可以凑成总金额:
     * 5=5
     * 5=1+1+1+1+1
     * 示例2:
     *  输入: n = 10
     *  输出:4
     *  解释: 有四种方式可以凑成总金额:
     * 10=10
     * 10=5+5
     * 10=5+1+1+1+1+1
     * 10=1+1+1+1+1+1+1+1+1+1
     * 说明:
     * 注意:
     * 你可以假设:
     * 0 <= n (总金额) <= 1000000
     *
     * 来源:力扣(LeetCode)
     * 链接:https://leetcode-cn.com/problems/coin-lcci
     * 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
     */
    public class WaysToChange {
    
        /**
         *
         * 功能描述: 
         *执行用时 : 46 ms , 在所有 Java 提交中击败了 34.42% 的用户
         * 内存消耗 : 43.8 MB , 在所有 Java 提交中击败了 100.00% 的用户
         * @author: xiaof
         * @date: 2020/4/23 9:41
         * @Description: 
         */
        public int solution(int n) {
            //动态规划,f(n)=f(n-{1,5,10,25}) + x,
            int[] res = new int[n + 1], money = new int[]{1,5,10,25};
            res[0] = 0; res[1] = 1;
            for (int j : money) {
                for (int i = 2; i <= n; ++i) {
                    if (i > j) {
                        res[i] = (res[i] + res[i - j]) % 1000000007;
                    } else if (i == j) {
                        res[i] += 1;
                    }
                }
            }
    
            return res[n];
        }
    
        public static void main(String[] args) {
            WaysToChange fuc = new WaysToChange();
    
            int n1 = 10;
            int n2 = 900750;
    
            fuc.solution(n2);
        }
    }

    少见的能自己做出来的leetcode中等难度的题。。。。加油,奥利给

  • 相关阅读:
    实验七:类的多态性
    实验六:类的封装(P105 3-35)
    实验五:任意输入10个int类型数据,排序输出,再找出素数
    第三周学习总结
    hbase对Java的简单操作
    hbase的shell命令
    需求工程3
    需求工程2
    软件需求1
    认识软件需求
  • 原文地址:https://www.cnblogs.com/cutter-point/p/12758697.html
Copyright © 2011-2022 走看看