LeetCode 1431. 拥有最多糖果的孩子
题目描述
思路分析
解法一:一次扫描(推荐)
核心思路:
- 先求最大糖果数
maxVal。- 对每个孩子判断
candies[i] + extraCandies >= maxVal。
复杂度分析:
- 时间复杂度:O(n)。
- 空间复杂度:O(1)。
import java.util.ArrayList;
import java.util.List;
class Solution {
public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) {
int maxVal = 0;
for (int v : candies) {
maxVal = Math.max(maxVal, v);
}
List<Boolean> res = new ArrayList<>(candies.length);
for (int v : candies) {
res.add(v + extraCandies >= maxVal);
}
return res;
}
}
func kidsWithCandies(candies []int, extraCandies int) []bool {
maxVal := 0
for _, v := range candies {
if v > maxVal {
maxVal = v
}
}
res := make([]bool, len(candies))
for i, v := range candies {
res[i] = v+extraCandies >= maxVal
}
return res
}
相似题目
| 题目 | 难度 | 考察点 |
|---|---|---|
| 628. 三个数的最大乘积 | 简单 | 统计 |
| 414. 第三大的数 | 简单 | 统计 |
| 1295. 统计位数为偶数的数字 | 简单 | 统计 |
| 1672. 最富有客户的资产总量 | 简单 | 统计 |
| 1480. 一维数组的动态和 | 简单 | 统计 |
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!