欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode存在连续三个奇数的数组(1550)

程序员文章站 2024-03-22 18:08:16
...

给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都
是奇数的情况:如果存在,请返回 true ;否则,返回 false 。

输入:arr = [2,6,4,1]
输出:false
解释:不存在连续三个元素都是奇数的情况。

address


from typing import List


def three_consecutive_odds(arr: List[int]) -> bool:
    # 1. 计数法
    # count = 0
    # for number in arr:
    #     if number % 2 == 1:
    #         count += 1
    #         if count == 3:
    #             return True
    #     else:
    #         count = 0
    #
    # return False

    # 2. 枚举
    n = len(arr)
    return n >= 3 and any(arr[i] & 1 and arr[i + 1] & 1 and
                          arr[i + 2] & 1 for i in range(n - 2))


if __name__ == '__main__':
    arr = [1, 2, 34, 3, 4, 5, 7, 23, 12]
    print(three_consecutive_odds(arr))
相关标签: LeetCode刷题