Advertisement

LeetCode算法题(数组相关)(七)——存在连续三个奇数的数组

阅读量:

问题:

给定一个由整数构成的数组 arr,请判断该数组中是否包含三个连续的奇数元素:若存在此类情况,则返回 true;否则,返回 false

复制代码
 输入:arr = [2,6,4,1]

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

    
 输出:true
    
 解释:存在连续三个元素都是奇数的情况,即 [5,7,23] 。
    
    
    
    

算法:

这一问题的解决方式相对直接,我们可以在遍历数组的过程中,检测是否存在三个连续的奇数。针对连续性判断,可以通过记录奇数的位置来实现。设定一个计数器count=0,若当前奇数的位置与前一个奇数的位置之差为1,则将count加1;若差值不为1,则将count重置为1。当count达到3时,即可判定条件成立并返回true。

实现:

复制代码
 class Solution {

    

全部评论 (0)

还没有任何评论哟~