carloscn / structstudy

Leetcode daily trainning by using C/C++/RUST programming.
4 stars 1 forks source link

leetcode1550:存在连续三个奇数的数组(three-consecutive-odds) #244

Open carloscn opened 1 year ago

carloscn commented 1 year ago

问题描述

给你一个整数数组 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/problems/three-consecutive-odds

carloscn commented 1 year ago

问题分析

pub fn three_consecutive_odds(arr: Vec<i32>) -> bool
{
    if arr.len() < 3 {
        return false;
    }

    for i in 0..arr.len() - 2 {
        if arr[i] & 0x1 == 1 &&
           arr[i + 1] & 0x1 == 1 &&
           arr[i + 2] & 0x1 == 1 {
            return true;
        }
    }

    return false;
}
carloscn commented 1 year ago

code

https://review.gerrithub.io/c/carloscn/structstudy/+/555020 https://github.com/carloscn/structstudy/commit/0b6074c4ae8bd2adfbf98916269b96b42b0d5dc5