From 510710890dbbf9ea066b8daf2ff9c26323151404 Mon Sep 17 00:00:00 2001 From: bumpsoo Date: Tue, 18 Mar 2025 14:07:03 +0000 Subject: [PATCH] https://leetcode.com/problems/longest-nice-subarray --- medium/longest_nice_subarray.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 medium/longest_nice_subarray.py diff --git a/medium/longest_nice_subarray.py b/medium/longest_nice_subarray.py new file mode 100644 index 0000000..b1be81d --- /dev/null +++ b/medium/longest_nice_subarray.py @@ -0,0 +1,17 @@ +# https://leetcode.com/problems/longest-nice-subarray + +from typing import List + +class Solution: + def longestNiceSubarray(self, nums: List[int]) -> int: + left = 0 + or_mask = 0 + result = 0 + for right in range(len(nums)): + while (or_mask & nums[right]) != 0: + or_mask ^= nums[left] + left += 1 + or_mask |= nums[right] + result = max(result, right - left + 1) + return result +