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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1550. 存在连续三个奇数的数组相关的知识,希望对你有一定的参考价值。


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

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

二、方法一

枚举

class Solution 
public boolean threeConsecutiveOdds(int[] arr)
int k = 0;
for (int i = 0; i < arr.length; i++)
if ((arr[i] & 1) == 1)
k++;
if (k == 3)
return true;

else
k = 0;


return false;

复杂度分析

  • 时间复杂度:O(n)。
  • 空间复杂度:O(1)。

三、方法二

枚举

class Solution 
public boolean threeConsecutiveOdds(int[] arr)

for (int i = 0; i < arr.length - 2; i++)
if ((arr[i] & 1) == 1 && (arr[i + 1] & 1) == 1 && (arr[i + 2] & 1) == 1)
return true;



return false;

复杂度分析

  • 时间复杂度:O(n)。
  • 空间复杂度:O(1)。


以上是关于LeetCode 1550. 存在连续三个奇数的数组的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode1248. 统计「优美子数组」

LeetCode523. 连续的子数组和

5个连续的自然数,第一个是奇数那么这五个数的和是啥?

求素数

LeetCode 128 最长连续序列

LeetCode 128 最长连续序列