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
  • 相关阅读:
    撤回本地的提交
    antd Table每列样式修改
    大数组拼树
    滑动加载
    数组合并去除重复内容
    获取前一周期日期
    js 对象根据value获取对应的key
    less git上传问题处理
    5G
    Linux怎么安装node.js
  • 原文地址:https://www.cnblogs.com/orxx/p/10301144.html
Copyright © 2011-2022 走看看