这是数组的第22题,力扣链接。
给你一个整数数组
arr
,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回true
;否则,返回false
。示例 1:
输入:arr = [2,6,4,1] 输出:false 解释:不存在连续三个元素都是奇数的情况。示例 2:
输入:arr = [1,2,34,3,4,5,7,23,12] 输出:true 解释:存在连续三个元素都是奇数的情况,即 [5,7,23] 。
这道题简单到不能再简单,就是遍历计数题。
func threeConsecutiveOdds(arr []int) bool {
count := 0
for _, num := range arr {
if num%2 == 1 {
count++
if count > 2 {
return true
}
} else {
count = 0
}
}
return false
}
当然,也可以不计数,一次判断三个。
func threeConsecutiveOdds(arr []int) bool {
for i := 0; i+2 < len(arr); i++ {
if arr[i]%2 == 1 && arr[i+1]%2 == 1 && arr[i+2]%2 == 1 {
return true
}
}
return false
}