类别:数组
题目: 1550. 存在连续三个奇数的数组
我的解题思路:
循环数组、定义变量count记录连续出现奇数个数
- 当前为奇数,那么++count
- 当前不为奇数,那么将count置为0
class Solution {
public boolean threeConsecutiveOdds(int[] arr) {
int count =0;
for(int i =0;i<arr.length;i++){
if(arr[i] %2 == 1 ){
count++;
}else{
count =0;
}
if(count == 3){
return true;
}
}
return false;
}
}
官方解题:
class Solution {
public boolean threeConsecutiveOdds(int[] arr) {
int n = arr.length;
for (int i = 0; i <= n - 3; ++i) {
if ((arr[i] & 1) != 0 && (arr[i + 1] & 1) != 0 && (arr[i + 2] & 1) != 0) {
return true;
}
}
return false;
}
}
差异点
1.我的解题:通过每一次循环判断元素是否为奇数,是就+1,不是就清零,不够简洁
2.官方解题:直接比较3个连续元素,直接判断这三个元素是否都是奇数,是直接返回
网友评论