2020.6

6.1

1431.拥有最多糖果的孩子🍬🍬🍬🍭🍭

解题思路:真就是儿童节先找到最大值,然后遍历相加比较即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) {
List<Boolean> res = new ArrayList<>();
if (candies.length == 0) {
return res;
}
int max = candies[0];
for (int candy : candies) {
if (max < candy) {
max = candy;
}
}
for (int i = 0; i < candies.length; i++) {
if (max <= candies[i] + extraCandies) {
res.add(true);
} else {
res.add(false);
}
}
return res;
}
}

6.2

面试题64.求1+2+3+…+n

解题思路:题目要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C),所以使用&&的短路思路来作为递归的终止条件。

1
2
3
4
5
6
7
8
class Solution {
int res = 0;
public int sumNums(int n) {
boolean flag = n > 1 && (sumNums(n - 1) > 0);
res += n;
return res;
}
}