首页 > 其他分享 >3618、存在连续三个奇数的数组

3618、存在连续三个奇数的数组

时间:2023-02-14 14:36:40浏览次数:44  
标签:arr 奇数 3618 Assert int threeConsecutiveOdds 数组 pn

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

*

* 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 [email protected]

*

* 2022-2-22

*/

public class ThreeConsecutiveOddsTest {



@Test

public void test() {

ThreeConsecutiveOdds pn = new ThreeConsecutiveOdds();

Assert.assertTrue(pn.threeConsecutiveOdds(new int[] {1, 2, 3, 4, 5, 6, 11, 13, 15, 23, 29}));

Assert.assertTrue(pn.threeConsecutiveOdds(new int[] {1, 2, 3, 4, 5, 6, 11, 13, 23, 29}));

Assert.assertTrue(pn.threeConsecutiveOdds(new int[] {1, 1, 3, 4, 5, 6, 11, 12, 22, 22}));

Assert.assertTrue(pn.threeConsecutiveOdds(new int[] {1, 101, 1003, 1115, 8, 6, 11, 12, 22, 22}));

Assert.assertFalse(pn.threeConsecutiveOdds(new int[] {1, 2, 3, 4, 5, 6, 11, 13, 22, 29}));

Assert.assertFalse(pn.threeConsecutiveOdds(new int[] {1, 2, 2, 4, 5, 6, 11, 12, 29, 29}));

}

}

标签:arr,奇数,3618,Assert,int,threeConsecutiveOdds,数组,pn
From: https://blog.51cto.com/fansunion/6056780

相关文章

  • 3623、合并两个有序数组
    给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非......
  • 3597、找到所有数组中消失的数字
    给你一个含n个整数的数组nums,其中nums[i]在区间[1,n]内。请你找出所有在[1,n]范围内但没有出现在nums中的数字,并以数组的形式返回结果。示例1:输入:nums=[4......
  • 3606、数组的度
    给定一个非空且只包含非负数的整数数组nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在nums中找到与nums拥有相同大小的度的最短连续子数组,返......
  • 二维数组中的查找
    问题:矩阵从左至右、从上至下非递减顺序,查找target是否在数组中剑指Offer04.二维数组中的查找-力扣(LeetCode)方法一:标志数flag:选择左下角或者右上角为标志数;选择左下......
  • 每日一题.截断数组
    先特判,显而易见数组的前缀和必须是3的倍数,要不然分不成三份。然后就是遍历前缀和让它和1/3总和和2/3总和比,显然当第二个1/3也成立的时候就可以停止遍历,然后可以继续遍历或......
  • VBA遍历数组的2种方式
     1.情景展示VBA编程,如何对数组进行遍历?2.解决方案方式一:使用for循环Sub遍历数组1()'声明一个变量DimArrAsVariant'声明一个数字变量DimiAs......
  • C语言填空:数组a b c,c中元素包括a,但不在b中
    #include<stdio.h>//数组a中有8个不相等的元素,b中有5个不相等的元素,数组c中包含那些a中但不在b中的元素,并输出数组c各元素的值main(){inta[8],b[5],i,j,count;......
  • 88. 合并两个有序数组
    给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合......
  • halcon 伪二维数组
    没找到二维数组的方式,使用伪二维数组(其实是一维向量)RegionAlignment_ROI1:=[724.615,1571.03,841.724,1903]RegionText_ROI1:=[986,1436,1282,1834]row1s_pos_RO......
  • java 数组转list的两种方式(可新增和删除list元素)
     方式一String[]array={"111","222","333"};List<String>list=Arrays.asList(array);//list.add("444");list.remove(0);如上图所示,不可进行新增或删除元素的操......