背包问题
来源:互联网 发布:淘宝美工字体库百度云 编辑:程序博客网 时间:2024/06/05 14:10
完全背包问题
function getMaxGold(n,w,g,p){ var nextGold, results = []; for(var i = 0; i <= w; i++){ results[i] = (i < p[0]) ? 0 : g[0]; } for(var i = 0; i < n; i++){ for(var j = 0; j <= w; j++){ if(j >= p[i]){ nextGold = g[i] + results[j-p[i]]; results[j] = Math.max(results[j],nextGold); } } console.log(results); } return results; } console.log(getMaxGold(5,10,[400,500,200,300,350],[5,5,3,4,3]));
01背包问题
function getMaxGold2(n,w,g,p){ var preResults = [], results = []; for(var i = 0; i <= w; i++){ preResults[i] = (i < p[0]) ? 0 : g[0]; } for(var i = 1; i < n; i++){ for(var j = 0; j <= w; j++){ if(j < p[i]){ results[j] = preResults[j]; }else{ results[j] = Math.max(preResults[j],g[i] + preResults[j-p[i]]); } } for(var k = 0 ; k <= w; k++){ preResults[k] = results[k]; } } return results; } // console.log(getMaxGold2(5,10,[400,500,200,300,350],[5,5,3,4,3]));
01背包问题
function getMaxGold3(n,w,g,p){ var nextGold, results = []; for(var i = 0; i <= w; i++){ results[i] = (i < p[0]) ? 0 : g[0]; } for(var i = 1; i < n; i++){ for(var j = w; j >= 0; j--){ if(j >= p[i]){ nextGold = g[i] + results[j-p[i]]; // console.log(nextGold); results[j] = Math.max(results[j],nextGold); } } } return results; } // console.log(getMaxGold3(5,10,[400,500,200,300,350],[5,5,3,4,3]));
阅读全文
0 0
- 【无限背包】背包问题
- 背包问题---01背包
- 背包问题--部分背包
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 整理对Spark SQL的理解
- RHCE——管理Linux网络
- unlink的使用
- B. Fox And Two Dots
- ssm 之 Struts 基础
- 背包问题
- ccf认证工资计算
- MySQL收回权限
- linux文件上传下载
- 方法重载和方法重写
- 简单的投票软件
- hard way learning python 0731
- 算法导论思考题6-3:Young氏矩阵
- Spark SQL 物理执行计划各操作实现