/**
* 1550. 存在连续三个奇数的数组
* @author wsq
* @date 2020/11/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] 。
链接:https://leetcode-cn.com/problems/three-consecutive-odds
*/
package com.wsq.myarray;
public class ThreeConsecutiveOdds {
/**
* 滑动窗口的思想
* 判断奇偶性采用的位运算
* @param arr
* @return
*/
public boolean threeConsecutiveOdds(int[] arr) {
int n = arr.length;
if(n < 3){
return false;
}
boolean flag = false;
for(int i = 0; i <= n-3; i++){
// 位运算
if((arr[i] & 1) != 0 && (arr[i+1] & 1) != 0 && (arr[i+2] & 1) != 0){
flag = true;
break;
}
}
return flag;
}
}
1550. 存在连续三个奇数的数组
最新推荐文章于 2022-02-15 12:33:01 发布