Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 28e42c2

Browse files
committed
add 6.1
1 parent b44b282 commit 28e42c2

File tree

1 file changed

+41
-0
lines changed
  • leetcode刷题/note/6月刷题

1 file changed

+41
-0
lines changed

leetcode刷题/note/6月刷题/01.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# No.1431 拥有最多糖果的孩子
2+
3+
难度:`easy`
4+
5+
给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。
6+
7+
对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。
8+
9+
## 示例
10+
11+
```
12+
输入:candies = [2,3,5,1,3], extraCandies = 3
13+
输出:[true,true,true,false,true]
14+
解释:
15+
孩子 1 有 2 个糖果,如果他得到所有额外的糖果(3个),那么他总共有 5 个糖果,他将成为拥有最多糖果的孩子。
16+
孩子 2 有 3 个糖果,如果他得到至少 2 个额外糖果,那么他将成为拥有最多糖果的孩子。
17+
孩子 3 有 5 个糖果,他已经是拥有最多糖果的孩子。
18+
孩子 4 有 1 个糖果,即使他得到所有额外的糖果,他也只有 4 个糖果,无法成为拥有糖果最多的孩子。
19+
孩子 5 有 3 个糖果,如果他得到至少 2 个额外糖果,那么他将成为拥有最多糖果的孩子。
20+
```
21+
22+
## 解题思路
23+
24+
这个题非常简单,首先找到目前所拥有最大糖果数,然后遍历一遍数组,将额外的糖果数目加上去,然后与最大值比较即可。
25+
26+
这样的时间复杂度可以达到 O(n)
27+
28+
JavaScript 可以使用 ES6 语法,是的代码非常简洁代码如下:
29+
30+
```javascript
31+
var kidsWithCandies = function(candies, extraCandies) {
32+
// 1、找到最大值
33+
let maxCandy = Math.max(...candies);
34+
let ans = [];
35+
// 2、循环,数组每个值加上 extraCandies 并比较
36+
for (let num of candies) {
37+
ans.push((num + extraCandies) >= maxCandy);
38+
}
39+
return ans;
40+
};
41+
```

0 commit comments

Comments
 (0)