您的位置:首页 > 大数据 > 人工智能

leetCode_Find K Pairs with Smallest Sums

2016-08-16 21:07 246 查看
链接:https://leetcode.com/problems/find-k-pairs-with-smallest-sums/

代码:

class Solution {
public:
vector<pair<int, int>> kSmallestPairs(vector<int>& nums1, vector<int>& nums2, int k) {
vector<pair<int,int>> ans;
vector<int> indexes;
int m1,m2,min,i,j;
if(k==0 || nums1.size()==0 || nums2.size()==0) return ans;
if(k>(nums1.size())*(nums2.size())) k=(nums1.size())*(nums2.size());
for(i=0;i<nums1.size();i++) indexes.push_back(0);
for(i=0;i<k;i++)
{
min=nums1[nums1.size()-1]+nums2[nums2.size()-1];
for(j=0;j<nums1.size();j++)
{
if(indexes[j]<nums2.size()&&nums1[j]+nums2[indexes[j]]<=min)
{
min=nums1[j]+nums2[indexes[j]];
m1=j;
m2=indexes[j];
}
}
ans.push_back(make_pair(nums1[m1],nums2[m2]));
indexes[m1]++;
}

return ans;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: