LeetCode 373. 查找和最小的K对数字
原题链接
中等
作者:
toFuture
,
2025-03-30 16:19:40
· 江苏
,
所有人可见
,
阅读 1
typedef vector<int> VI;
class Solution {
public:
vector<vector<int>> kSmallestPairs(vector<int>& a, vector<int>& b, int k) {
if(a.empty()||b.empty())return {};
int n=a.size();
int m=b.size();
priority_queue<VI, vector<VI>, greater<VI>> heap;
for(int i=0;i<m;i++)heap.push({b[i]+a[0], 0, i});
vector<VI> res;
while(k--&&heap.size())
{
auto t=heap.top();
heap.pop();
res.push_back({a[t[1]], b[t[2]]});
if(t[1]+1<n)heap.push({a[t[1]+1]+b[t[2]], t[1]+1, t[2]});
}
return res;
}
};