Untitled
unknown
plain_text
2 years ago
528 B
8
Indexable
/*
firsr put k subarrays sum into min heap. then put subarray sum only if it's greater than top of heap */
#include<queue>
#include<vector> // SAME LOGIC AS KTH LARGEST
int getKthLargest(vector<int> &arr, int k)
{
priority_queue<int,vector<int>,greater<int>> pq;
for(int i=0;i<arr.size();i++){
int sum=0;
for(int j=i;j<arr.size();j++){
sum+=arr[j];
if(pq.size()<k){
pq.push(sum);
}else{
if(sum>pq.top()){
pq.pop();
pq.push(sum);
}
}
}
}
return pq.top();
}Editor is loading...