1550.存在连续三个奇数的数组Java
题目描述
给你一个整数数组 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] 。
本文题来自LeetCode:https://leetcode-cn.com/problems/three-consecutive-odds/
思路
直接用枚举法,遍历数组,判断连续三个数是否为奇数,是则直接return true,否则return false。
算法分析
时间复杂度为O(N),空间复杂度为O(1)
枚举
public boolean threeConsecutiveOdds(int[] arr) {
boolean flag = false;
for (int i = 0; i < arr.length - 3; i++){
if ((arr[i] % 2 != 0) && ((arr[i + 1] % 2 != 0) && (arr[i + 2] % 2 != 0))){
flag = true;
return flag;
}
}
return flag;
}
主函数调用
class Solution1550 {
public static void main(String[] args) {
int[] arr = new int[]{2,6,4,1};
Solution1550 sol = new Solution1550();
System.out.println(sol.threeConsecutiveOdds(arr));
}
public boolean threeConsecutiveOdds(int[] arr){...}
}