diff --git a/java/longest-subarray-with-maximum-bitwise-and.java b/java/longest-subarray-with-maximum-bitwise-and.java new file mode 100644 index 0000000..9b91388 --- /dev/null +++ b/java/longest-subarray-with-maximum-bitwise-and.java @@ -0,0 +1,25 @@ +class Solution { + public int longestSubarray(int[] nums) { + int maximum = 0; + + int longest = 0, current = 0; + for (var num : nums) { + if (maximum < num) { + maximum = num; + longest = current = 1; + + continue; + } + + if (num == maximum) { + ++current; + } else { + current = 0; + } + + longest = Math.max(longest, current); + } + + return longest; + } +}