Description#
Given an integer array arr
, return true
if there are three consecutive odd numbers in the array. Otherwise, return false
.
Example 1:
Input: arr = [2,6,4,1]
Output: false
Explanation: There are no three consecutive odds.
Example 2:
Input: arr = [1,2,34,3,4,5,7,23,12]
Output: true
Explanation: [5,7,23] are three consecutive odds.
Constraints:
1 <= arr.length <= 1000
1 <= arr[i] <= 1000
Solutions#
Solution 1#
1
2
3
4
5
6
7
8
9
10
11
| class Solution:
def threeConsecutiveOdds(self, arr: List[int]) -> bool:
cnt = 0
for v in arr:
if v & 1:
cnt += 1
else:
cnt = 0
if cnt == 3:
return True
return False
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| class Solution {
public boolean threeConsecutiveOdds(int[] arr) {
int cnt = 0;
for (int v : arr) {
if (v % 2 == 1) {
++cnt;
} else {
cnt = 0;
}
if (cnt == 3) {
return true;
}
}
return false;
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| class Solution {
public:
bool threeConsecutiveOdds(vector<int>& arr) {
int cnt = 0;
for (int v : arr) {
if (v & 1)
++cnt;
else
cnt = 0;
if (cnt == 3) return true;
}
return false;
}
};
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| func threeConsecutiveOdds(arr []int) bool {
cnt := 0
for _, v := range arr {
if v%2 == 1 {
cnt++
} else {
cnt = 0
}
if cnt == 3 {
return true
}
}
return false
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| function threeConsecutiveOdds(arr: number[]): boolean {
let cnt = 0;
for (const v of arr) {
if (v & 1) {
++cnt;
} else {
cnt = 0;
}
if (cnt == 3) {
return true;
}
}
return false;
}
|
Solution 2#
1
2
3
4
5
6
| class Solution:
def threeConsecutiveOdds(self, arr: List[int]) -> bool:
for i in range(len(arr) - 2):
if arr[i] % 2 + arr[i + 1] % 2 + arr[i + 2] % 2 == 3:
return True
return False
|