Advertisement
2419. Longest Subarray With Maximum Bitwise AND
MediumView on LeetCode
Time: O(n)
Space: O(1)
Approach
Find global max; find longest run of consecutive equal-to-max elements.
2419.cs
C#
// Approach: Find global max; find longest run of consecutive equal-to-max elements.
// Time: O(n) Space: O(1)
public class Solution
{
public int LongestSubarray(int[] nums)
{
int ans = 0;
int maxIndex = 0;
int sameNumLength = 0;
for (int i = 0; i < nums.Length; i++)
{
if (nums[i] == nums[maxIndex])
ans = Math.Max(ans, ++sameNumLength);
else if (nums[i] > nums[maxIndex])
{
maxIndex = i;
sameNumLength = 1;
ans = 1;
}
else
sameNumLength = 0;
}
return ans;
}
}Advertisement
Was this solution helpful?