1431. 拥有最多糖果的孩子 - 力扣(LeetCode)



用 Python 代码实现这个功能,思路如下:
- 找到当前孩子中拥有最多糖果的数量
max_candies。 - 遍历
candies数组,判断如果给当前孩子分配extraCandies之后,他的糖果数是否大于等于max_candies。 - 如果是,则结果为
True,否则为False。
代码实现如下:
from typing import List
def kidsWithCandies(candies: List[int], extraCandies: int) -> List[bool]:
max_candies = max(candies) # 找到当前最多的糖果数
return [candy + extraCandies >= max_candies for candy in candies]
# 测试
candies = [2, 3, 5, 1, 3]
extraCandies = 3
print(kidsWithCandies(candies, extraCandies)) # [True, True, True, False, True]
复杂度分析:
- 找到
max_candies需要 O(n) - 遍历
candies计算结果需要 O(n) - 总体时间复杂度为 O(n),空间复杂度也是 O(n)(存储结果的列表)。
这个方法高效简洁,适用于大多数情况。
827

被折叠的 条评论
为什么被折叠?



