1431. Kids With the Greatest Number of Candies (Easy) (https://leetcode.com/problems/kids-with-the-greatest-number-of-candies/)
Есть n детей с конфетами. Вам дан целочисленный массив candies, где candies[i] обозначает количество конфет у i-го ребёнка, и целое число extraCandies, обозначающее количество дополнительных конфет, которые у вас есть. Верните булев массив result длины n, где result[i] равно true, если после того, как i-му ребёнку отдадут все extraCandies, у него будет наибольшее количество конфет среди всех детей, или false в противном случае. Обратите внимание, что несколько детей могут иметь наибольшее количество конфет. Ограничения: n == candies.length 2 <= n <= 100 1 <= candies[i] <= 100 1 <= extraCandies <= 50
function kidsWithCandies(candies: number[], extraCandies: number): boolean[] {
const max = Math.max(...candies)
return candies.map((candy) => candy + extraCandies >= max)
}
// function kidsWithCandies(candies: number[], extraCandies: number): boolean[] {
// const sortedCandies = [...candies].sort((a, b) => a - b)
// const max = sortedCandies.at(-1)!
// const result: boolean[] = []
// for (let i = 0; i < candies.length; i++) {
// if (candies[i] + extraCandies >= max) {
// result.push(true)
// }
// else {
// result.push(false)
// }
// }
// return result
// }
// Локальная проверка:
console.log(kidsWithCandies([2, 3, 5, 1, 3], 3))
console.log(kidsWithCandies([4, 2, 1, 1, 2], 1))
console.log(kidsWithCandies([12, 1, 12], 10))
console.log(kidsWithCandies([1, 10, 10, 3], 1))Пример 1:
Вход: candies = [2,3,5,1,3], extraCandies = 3
Выход: [true,true,true,false,true]
Объяснение: Если отдать все extraCandies:
Ребёнку 1, у него будет 2 + 3 = 5 конфет, что является наибольшим числом среди детей.
Ребёнку 2, у него будет 3 + 3 = 6 конфет, что является наибольшим числом среди детей.
Ребёнку 3, у него будет 5 + 3 = 8 конфет, что является наибольшим числом среди детей.
Ребёнку 4, у него будет 1 + 3 = 4 конфеты, что не является наибольшим числом среди детей.
Ребёнку 5, у него будет 3 + 3 = 6 конфет, что является наибольшим числом среди детей.
Пример 2:
Вход: candies = [4,2,1,1,2], extraCandies = 1
Выход: [true,false,false,false,false]
<!-- [[leetcode/array]] [[leetcode/Array/1365-how-many-numbers-are-smaller-than-the-current-number]] [[leetcode/Array/1441-build-an-array-with-stack-operations]] -->
Объяснение: Есть только 1 дополнительная конфета.
У ребёнка 1 всегда будет наибольшее количество конфет, даже если
дополнительную конфету отдать другому ребёнку.
Пример 3:
Вход: candies = [12,1,12], extraCandies = 10
Выход: [true,false,true]1365-how-many-numbers-are-smaller-than-the-current-number 1441-build-an-array-with-stack-operations leetcode