1550. 存在连续三个奇数的数组

给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true ;否则,返回 false

示例一:

1
2
3
输入:arr = [2,6,4,1]
输出:false
解释:不存在连续三个元素都是奇数的情况。

示例二:

1
2
3
输入:arr = [1,2,34,3,4,5,7,23,12]
输出:true
解释:存在连续三个元素都是奇数的情况,即 [5,7,23] 。

提示:

  • 1 <= arr.length <= 1000
  • 1 <= arr[i] <= 1000

解法

解法一:

Java

1
2
3
4
5
6
7
8
public boolean threeConsecutiveOdds(int[] arr) {
for (int i = 0;i < arr.length - 2;i++) {
if (arr[i] % 2 == 1 && arr[i + 1] % 2 == 1 && arr[i + 2] % 2 == 1) {
return true;
}
}
return false;
}

解法二:

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public boolean threeConsecutiveOdds(int[] arr) {
int sum = 0;
for (int j : arr) {
if (j % 2 == 1) {
sum++;
} else {
sum = 0;
}
if (3 == sum) {
return true;
}
}
return false;
}
0%