華為機(jī)考--題目描述
小偷來到了一個神秘的王宮勿侯,突然眼前一亮拓瞪,發(fā)現(xiàn)5個寶貝,每個寶貝的價值都不一樣罐监,且重量也不一樣吴藻,但是小偷的背包攜帶重量有限,所以他不得不在寶貝中做出選擇弓柱,才能使偷到的財富最大沟堡,請你幫助小偷計算一下。
輸入描述:
寶貝價值:6,3,5,4,6
寶貝重量:2,2,6,5,4
小偷背包容量:10
輸出描述:
偷到寶貝的總價值:15
示例1
輸入
6,3,5,4,6
2,2,6,5,4
10
輸出
15
JS解法:
var val = [6,3,5,4,6];
var wei = [2,2,6,5,4];
var arr = [];
for (let i = 0; i < val.length; i++){
const realVal = val[i]/wei[i];
arr.push({
index:i,
val:val[i],
realVal
});
};
// 降序
arr.sort(function (a,b) {return b.realVal - a.realVal})
// 重量限制
var count = 0;
var countIndex = 0;
var countVal = 0;
for(let i = 0;i < val.length; i++){
count += wei[i];
if(count > 10){
countIndex = i-1
}
};
// 計算總價值
for(let i = 0; i < countIndex; i++){
countVal += arr[i].val
};
console.log(`偷到寶貝的總價值: ${countVal}`)