AnhCongNhanIT
Junior Member
[SPOILER="C++: Max heap]
[/SPOILER]
C++:
class Solution {
public:
struct Comp{
bool operator()(const vector<int>& v1, const vector<int>& v2){
return v1[0]*1.0 / v1[1] < v2[0]*1.0 / v2[1];
}
};
vector<int> kthSmallestPrimeFraction(vector<int>& arr, int k) {
priority_queue<vector<int>, vector<vector<int>>, Comp> q;
int n = arr.size();
for(int i = 0; i < n -1; ++i){
for(int j = i +1; j < n; ++j){
q.push({arr[i], arr[j]});
if(q.size() > k)
q.pop();
}
}
return q.top();
}
};