Bit AND OR¶
Table of Contents¶
- 2980. Check if Bitwise OR Has Trailing Zeros (Easy)
- 1318. Minimum Flips to Make a OR b Equal to c (Medium)
- 2419. Longest Subarray With Maximum Bitwise AND (Medium)
- 2871. Split Array Into Maximum Number of Subarrays (Medium)
- 2401. Longest Nice Subarray (Medium)
- 2680. Maximum OR (Medium)
- 3133. Minimum Array End (Medium)
- 3108. Minimum Cost Walk in Weighted Graph (Hard)
- 3117. Minimum Sum of Values by Dividing Array (Hard)
- 3125. Maximum Number That Makes Result of Bitwise AND Zero (Medium) 👑
2980. Check if Bitwise OR Has Trailing Zeros¶
-
LeetCode | LeetCode CH (Easy)
-
Tags: array, bit manipulation
1318. Minimum Flips to Make a OR b Equal to c¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: bit manipulation
2419. Longest Subarray With Maximum Bitwise AND¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, bit manipulation, brainteaser
2871. Split Array Into Maximum Number of Subarrays¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, greedy, bit manipulation
2401. Longest Nice Subarray¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, bit manipulation, sliding window
2680. Maximum OR¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: array, greedy, bit manipulation, prefix sum
2680. Maximum OR - Python Solution
from typing import List
# Greedy
def maximumOr(nums: List[int], k: int) -> int:
"""Maximum OR of Array After k Operations
Args:
nums (List[int]): provided list of integers
k (int): number of operations
Returns:
int: maximum OR of array after k operations
"""
n = len(nums)
suffix = [0 for _ in range(n)]
for i in range(n - 2, -1, -1):
suffix[i] = suffix[i + 1] | nums[i + 1]
res, pre = 0, 0
for num, suf in zip(nums, suffix):
res = max(res, pre | (num << k) | suf)
pre |= num
return res
if __name__ == "__main__":
print(maximumOr(nums=[8, 1, 2], k=2)) # 35
3133. Minimum Array End¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: bit manipulation
3108. Minimum Cost Walk in Weighted Graph¶
-
LeetCode | LeetCode CH (Hard)
-
Tags: array, bit manipulation, union find, graph
3117. Minimum Sum of Values by Dividing Array¶
-
LeetCode | LeetCode CH (Hard)
-
Tags: array, binary search, dynamic programming, bit manipulation, segment tree, queue
3125. Maximum Number That Makes Result of Bitwise AND Zero¶
-
LeetCode | LeetCode CH (Medium)
-
Tags: string, greedy, sorting