zoukankan      html  css  js  c++  java
  • JS-贪心算法

    贪心算法遵循一种近似解决问题的技术,期盼通过每个阶段的局部最优选择(当前最好的解),从而达到全局的最优(全局最优解)。
    贪心得到结果是一个可以接受的解,不一定总是得到最优的解
    1、最少硬币找零问题
    最少硬币找零是给出要找零的钱数,以及可以用硬币的额度数量,找出有多少种找零方法。
    如:美国面额硬币有:1,5,10,25
    我们给36美分的零钱,看能得怎样的结果?
     1 function MinCoinChange(coins){
     2     var coins = coins;
     3 
     4     var cache = {};
     5 
     6     this.makeChange = function(amount){
     7         var change = [], total = 0;
     8 
     9         for(var i = coins.length; i >= 0; i--){
    10             var coin = coins[i];
    11             while(total + coin <= amount){
    12                 change.push(coin);
    13                 total += coin;
    14             }
    15         }
    16 
    17         return change;
    18     }
    19 }
    20 
    21 var minCoinChange = new MinCoinChange([1, 5, 10, 25]);
    22 minCoinChange.makeChange(36);
    23 //一个25, 一个10, 一个1
  • 相关阅读:
    解决shiro多次从redis读取session的问题
    软件测试其他方法
    异常HTTP Status 500
    支付
    java面试
    SQL入门
    软件测试理论基础
    软件测试学习第一章
    Linux在终端命令行模式下智能补全功能以及组合键
    Linux安装
  • 原文地址:https://www.cnblogs.com/orxx/p/10301144.html
Copyright © 2011-2022 走看看