昨天面试时遇到一个背包算法的题目,和传统的背包稍有不同,是给定背包的容量和各种物品的重量,要求放入物品的总质量尽可能接近背包的容量并小于背包的容量,且放入的物品数目最少。
以下是我自己根据理解编写出来的代码。
function Backpack() {
var totalWeight;//背包的总质量
var goodsList = [];//可供选择的物品列表
var bestMethodList = []//最优解的物品列表
//设置背包总重量
this.setTotalWeight = function(t) {
totalWeight = t
}
//加物品