Dashboard Temp Share Shortlinks Frames API

HTMLify

Longest Subarray with Majority Greater than K
Views: 5 | Author: prakhardoneria
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
class Solution:
    def longestSubarray(self, arr, k):
        n = len(arr)
        prefix_sum = 0
        first_occ = {}
        max_len = 0
        
        for i in range(n):
            prefix_sum += 1 if arr[i] > k else -1
            
            if prefix_sum > 0:
                max_len = i + 1
            else:
                if (prefix_sum - 1) in first_occ:
                    max_len = max(max_len, i - first_occ[prefix_sum - 1])
            
            if prefix_sum not in first_occ:
                first_occ[prefix_sum] = i
                
        return max_len