3097. 或值至少为 K 的最短子数组 II
题目链接:3097. 或值至少为 K 的最短子数组 II
代码如下:
class Solution {
public:
int minimumSubarrayLength(vector<int>& nums, int k) {
int res = INT_MAX;
for (int i = 0;i < nums.size();i++) {
int x = nums[i];
if (x >= k) {
return 1;
}
for (int j = i - 1;j >= 0 && (nums[j] | x) != nums[j];j--) {
nums[j] |= x;
if (nums[j] >= k) {
res = min(res, i - j + 1);
}
}
}
return res == INT_MAX ? -1 : res;
}
};