Medium
Longest Subarray With Maximum Bitwise AND — C++
Full explanation · Time O(n) · Space O(1)
// Time: O(n)
// Space: O(1)
// bit manipulation
class Solution {
public:
int longestSubarray(vector<int>& nums) {
const int mx = *max_element(cbegin(nums), cend(nums));
int result = 1, l = 0;
for (const auto& x : nums) {
if (x == mx) {
result = max(result, ++l);
} else {
l = 0;
}
}
return result;
}
};