【发布时间】:2020-09-04 01:01:35
【问题描述】:
我正在做以下问题:
给定数组 candies 和整数 extraCandies,其中 candies[i] 表示第 i 个孩子拥有的糖果数量。
为每个孩子检查是否有办法在他们之间分配额外的糖果 孩子们,这样他或她就可以拥有最多数量的糖果 其中。请注意,多个孩子可以拥有最多的 糖果。
示例 1:
输入:candies = [2,3,5,1,3], extraCandies = 3 输出: [true,true,true,false,true] 解释:孩子 1 有 2 颗糖果,如果 他或她收到所有额外的糖果 (3) 将有 5 个糖果 --- 孩子们中糖果的数量最多。孩子 2 有 3 颗糖果,如果 他或她收到至少 2 个额外的糖果将拥有最大的 孩子们的糖果数量。孩子 3 有 5 个糖果,这是 已经是孩子们中糖果数量最多的。孩子 4 有 1 糖果,即使他或她收到所有额外的糖果,也只会 4颗糖果。孩子 5 有 3 个糖果,如果他或她至少收到 2 个 额外的糖果将在孩子们中拥有最多的糖果。 示例 2:
输入:candies = [4,2,1,1,2], extraCandies = 1 输出: [true,false,false,false,false] 解释:只有 1 个额外的 糖果,因此只有孩子 1 拥有最多的糖果 在孩子们中间,不管谁拿了多余的糖果。示例 3:
输入:candies = [12,1,12], extraCandies = 10 输出: [真,假,真]
约束:
2
这是我的代码,在我的代码下方是我得到的错误,但看起来是对的?
const kidsWithCandies = (candies, extraCandies) => {
let candiesTwo = [...candies]
candiesTwo = candiesTwo.sort()
let arr = []
let highestNum = candiesTwo[candiesTwo.length -1]
for(let i = 0; i < candies.length; i++) {
if(candies[i] + extraCandies >= highestNum) {
arr.push(true)
} else {
arr.push(false)
}
}
return arr
}
我得到了
71 / 103 test cases passed.
Status: Wrong Answer
Submitted: 3 minutes ago
Input:
[1,10,10,3]
1
Output:
[false,true,true,true]
Expected:
[false,true,true,false]
【问题讨论】:
标签: javascript arrays algorithm