给你一个整数数组 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] 。

 

提示:

1 <= arr.length <= 1000

1 <= arr[i] <= 1000

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/three-consecutive-odds

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

package cn.fansunion.leecode.isNumber;

/**

 * 1550. 存在连续三个奇数的数组 给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:<br/>

 * 如果存在,请返回 true ;否则,返回 false 。

 * 力扣

 * @author wen.lei@brgroup.com

 *

 *         2022-2-19

 */

public class ThreeConsecutiveOdds {

    /*    示例 1:

    

    输入:arr = [2,6,4,1]

    输出:false

    解释:不存在连续三个元素都是奇数的情况。

    示例 2:

    

    输入:arr = [1,2,34,3,4,5,7,23,12]

    输出:true

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

     

    

    提示:

    

    1 <= arr.length <= 1000

    1 <= arr[i] <= 1000*/

    /**

     * 遍历数组,判定当前数是否为奇数,维护连续奇数的总数量,数量达到3,满足条件。

     *

     * @param arr

     * @return

     */

    public boolean threeConsecutiveOdds(int[] arr) {

        if (arr == null || arr.length < 3) {

            return false;

        }

        // 连续奇数的总数量

        int continuousOddSize = 0;

        for (int index = 0; index < arr.length; index++) {

            if (arr[index] % 2 == 1) {

                continuousOddSize++;

                if (continuousOddSize == 3) {

                    return true;

                }

            else {

                // 遇到偶数,清零

                continuousOddSize = 0;

            }

        }

        return false;

    }

}

package test.leecode.isNumber;

import org.junit.Assert;

import org.junit.Test;

import cn.fansunion.leecode.isNumber.ThreeConsecutiveOdds;

/**

 *

 * @author wen.lei@brgroup.com

 *

 *         2022-2-22

 */

public class ThreeConsecutiveOddsTest {

    

    @Test

    public void test() {

        ThreeConsecutiveOdds pn = new ThreeConsecutiveOdds();

        Assert.assertTrue(pn.threeConsecutiveOdds(new int[] {1234561113152329}));

        Assert.assertTrue(pn.threeConsecutiveOdds(new int[] {12345611132329}));

        Assert.assertTrue(pn.threeConsecutiveOdds(new int[] {11345611122222}));

        Assert.assertTrue(pn.threeConsecutiveOdds(new int[] {1101100311158611122222}));

        Assert.assertFalse(pn.threeConsecutiveOdds(new int[] {12345611132229}));

        Assert.assertFalse(pn.threeConsecutiveOdds(new int[] {12245611122929}));

    }

}

3618、存在连续三个奇数的数组相关推荐

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

    文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true :否则,返回 false . 示例 1: 输入:a ...

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

    比较简单,直接确定连续三位是不是奇数就行 class Solution {public boolean threeConsecutiveOdds(int[] arr) {;for (int i = 0 ...

  3. 夜深人静写算法(三)- 树状数组

    目录   一.从图形学算法说起       1.Median Filter 概述       2.r pixel-Median Filter 算法 3.一维模型       4.数据结构的设计     ...

  4. C语言基础知识(三)-程序设计结构、数组、字符串处理函数

    本文是C语言的基础知识,主要讲解三种程序设计结构.数组.字符串和字符数组.数组元素查询以及字符串处理函数. 程序结构设计 包括C语言在内的几乎任何编程语言都支持以下三种程序设计结构,它们分别是: 顺序 ...

  5. leetcode旋转数组 c语言,leetcode explore 初级算法第三题,旋转数组代码实现

    leetcode explore 初级算法第三题,旋转数组代码实现.原题链接: 题目分析 因为题目不是很长,这里把题目贴出来: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. ...

  6. 剑指offer之 调整奇数偶数数组位置

    package Problem14;/** 问题描述:* 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位与数组的前半部分,所有偶数位与数组的* 后半部分*/ public cl ...

  7. YY提交招股书赴美上市:连续三季盈利(转)

    来源:新浪-科技频道 [文章摘要]10月15日晚间消息,YY公司今日正式向美国证券交易委员会(SEC)提交招股书.招股书显示上市地点为纳斯达克,融资额暂未披露,交易代码为"YY". ...

  8. Go Little Book - 第三章 - 字典 ,数组和切片

    2019独角兽企业重金招聘Python工程师标准>>> 第三章 - 字典 ,数组和切片(Chapter 3 - Maps, Arrays and Slices) So far we' ...

  9. php 三色排序,一个数组中只有0,1,2三种元素,要求对这样的数组进行排序,一个数组中只有0,1,2三种元素,要求对这样的数组进行排序,第2章 排序 | | 第17节 三色排序练习题...

    1.思路: 1.1思路1: 第一眼看到这样的题目,会举得非常简单,只需要两次遍历数组就可以完成了.第一次遍历,扫描数组中的元素,每次遇到0则count0++,遇到1则count1++,遇到2则coun ...

最新文章

  1. python画散点图类型-Pandas / Pyplot中的散点图:如何按类别绘制
  2. 已解决:centos 7.x系统自带的3.10.x内核存在一些bugs,导致运行docker、k8s不稳定,需要升级内核解决此问题。
  3. Android 广播机制---BroadCast
  4. 数据结构 树和二叉树
  5. Shutdown Abort :亚马逊成功迁移物流业务中最后一个Oracle数据库
  6. 《黑客秘笈——渗透测试实用指南(第2版)》—第2章2.7节总结
  7. 计算机应用基础操作演示,计算机应用基础上机操作题
  8. RobotFramework特性总结
  9. linux按数量复制文件,linux下dd命令使用详解---用指定大小的块拷贝一个文件
  10. 电脑笔记本利用谷歌浏览器进行网页截长图滚动截图
  11. 深度 | 蚂蚁金融科技全面开放战略背后的“硬实力” 1
  12. 使用redis实现排行榜
  13. 数据库SQLite之嵌入式Linux实际网关项目使用初步
  14. thinkPHP+jQuery实现站内信功能-讲给菜鸟同学
  15. 二元灰狼优化(BGWO)应用于特征选择任务(Matlab代码实现)
  16. Android动态listview,Android列表组件ListView使用详解之动态加载或修改列表数据
  17. 基于python pygame实现的雨点动画
  18. java设计模式之状态机模式
  19. 软件测试方法的分类及工具推荐
  20. truetype字体怎么转换成普通字体_将truetype字体默认转换为NV路径中的像素大小

热门文章

  1. 个人版独立在线客服系统搭建教程_私有化开发安全有保障
  2. 【javaweb各种启动报错问题】
  3. Mac 下隐藏显示文件夹的快捷键
  4. 关于String在OC中的一些操作(长沙戴维营)
  5. 为c语言设计cgic的函数库
  6. Office Visio 2016安装
  7. nacos1.4.1启动报错acos is starting with cluster
  8. 2011中国软件开发者年度调查
  9. golang io.Reader和io.Writer
  10. 生成器 yield from