g2501_2600.s2568_minimum_impossible_or.readme.md Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java Show documentation
Show all versions of leetcode-in-java Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
2568\. Minimum Impossible OR
Medium
You are given a **0-indexed** integer array `nums`.
We say that an integer x is **expressible** from `nums` if there exist some integers 0 <= index1 < index2 < ... < indexk < nums.length
for which nums[index1] | nums[index2] | ... | nums[indexk] = x
. In other words, an integer is expressible if it can be written as the bitwise OR of some subsequence of `nums`.
Return _the minimum **positive non-zero integer** that is not_ _expressible from_ `nums`.
**Example 1:**
**Input:** nums = [2,1]
**Output:** 4
**Explanation:** 1 and 2 are already present in the array. We know that 3 is expressible, since nums[0] | nums[1] = 2 | 1 = 3. Since 4 is not expressible, we return 4.
**Example 2:**
**Input:** nums = [5,3,2]
**Output:** 1
**Explanation:** We can show that 1 is the smallest number that is not expressible.
**Constraints:**
* 1 <= nums.length <= 105
* 1 <= nums[i] <= 109