diff --git a/10 May Longest Subarray with Majority Greater than K b/10 May Longest Subarray with Majority Greater than K new file mode 100644 index 0000000..23efcc5 --- /dev/null +++ b/10 May Longest Subarray with Majority Greater than K @@ -0,0 +1,33 @@ +class Solution { + public: + int longestSubarray(vector &arr, int k) { + int n=arr.size(); + vectordiff(n); + for(int i=0;ik){ + diff[i]=1; + } + else{ + diff[i]=-1; + } + } + unordered_mapmp; + int prefix=0; + int maxlen=0; + for(int i=0;i0){ + maxlen=i+1; + } + else{ + if(mp.find(prefix-1)!=mp.end()){ + maxlen=max(maxlen,i-mp[prefix-1]); + } + } + if(mp.find(prefix)==mp.end()){ + mp[prefix]=i; + } + } + return maxlen; + } +};