首页 > 编程语言 > 详细

算法 对贪?算法对研究

时间:2020-06-05 01:04:49      阅读:50      评论:0      收藏:0      [点我收藏+]

  

    贪?算法是?种求近似解的思想。当能满??部分最优解时就认为符合逻辑要求。

还?找零 这个案例为例, 考虑使?贪?算法解题: ?如当找零数为 36 时, 从硬币数的最?值 20 开始填充,
填充不下后再? 10 来填充, 以此类推, 找到最优解。

  

   场景: 假如有 1, 5, 10, 20,50,100 的??币
   36 // 找零数
   [20, 10, 5, 1] // 需 20、10、5、1
 
class Change {
constructor(changeType){
this.changeType = changeType.sort((r1, r2) => r2 - r1)
}
makeChange(amount) {
const arr = []
for (let i = 0; i < this.changeType.length; i++) {
while (amount - this.changeType[i] >= 0) {
arr.push(this.changeType[i])
amount = amount - this.changeType[i]
}
}
return arr
}
}
const change = new Change([1, 5, 10, 20,50,100])
console.log(change.makeChange(36))
console.log(change.makeChange(136))
console.log(‘-‘.repeat(100))
const change1 = new Change([1, 3, 4])
console.log(change1.makeChange(6)) // 其实33最好
贪?算法相对简单,就是先怼最?的,?部分情况都OK,但是有些情况不是最优解,所以?不要太贪
?哦
console.log(‘-‘.repeat(100))
const change1 = new Change([1, 3, 4])
console.log(change1.makeChange(6)) // 其实33最好

 

算法 对贪?算法对研究

原文:https://www.cnblogs.com/zhouyideboke/p/13047157.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!