我认为JS在思考方面非常灵活。
我正在尝试解决nodeJs中的Mark and Toys。简而言之,问题是: 马克和简生完第一个孩子后感到非常高兴。他们的儿子喜欢玩具,所以马克想买一些玩具。他面前摆着许多不同的玩具,上面标有它们的价格。马克只花了一定的钱,他想用这笔钱购买最多的玩具。
在下面的编辑器中完成函数maximumToys。它应该返回一个整数,代表Mark可以购买的最大玩具数量。
maximumToys具有以下参数:
价格:表示玩具价格的整数数组 k:整数,马克的预算。我的解决方案在运行代码时通过了第二个和第三个测试用例,但是,第一个失败了。
我的解决方案:
function maximumToys(prices, k) {
var temp =[];
var sum = k;
var count =0;
prices.sort();
prices.forEach(el => {
if (el< k) {
temp.push(el);
}
})
while(sum>0){
temp.forEach((el)=> {
sum-=el
if(sum>=0){
count++;
}
})
}
return count;}
测试案例1:
input:
7 50
1 12 5 111 200 1000 10
expected output:
4
actual output:
6
这里出什么问题了?