22-数组-存在连续三个奇数的数组

这是数组的第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
}

你可能感兴趣的:(白话算法,算法,数据结构)