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;
}
};
代码:
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;
}
};
相关文章推荐
- leetcode 373. Find K Pairs with Smallest Sums 优先队列
- [LeetCode] 373. Find K Pairs with Smallest Sums 找和最小的K对数字
- LeetCode Find K Pairs with Smallest Sums
- Leetcode: Find K Pairs with Smallest Sums
- LeetCode 373 Find K Pairs with Smallest Sums
- leetcode之Find K Pairs with Smallest Sums
- leetcode 373 Find K Pairs with Smallest Sums java
- Leetcode: Find K Pairs with Smallest Sums
- Leetcode 373 Find K Pairs with Smallest Sums
- LeetCode[373] Find K Pairs with Smallest Sums
- leetcode:heap:Find K Pairs with Smallest Sums(373)
- Find K Pairs with Smallest Sums -- LeetCode
- [leetcode-373]Find K Pairs with Smallest Sums(java)
- leetcode 373. Find K Pairs with Smallest Sums 暴力循环求解
- leetcode_373 Find K Pairs with Smallest Sums
- Leetcode373: Find K Pairs with Smallest Sums
- leetcode-Find K Pairs with Smallest Sums
- [LeetCode] Find K Pairs with Smallest Sums 找和最小的K对数字
- leetcode Find K Pairs with Smallest Sums
- LeetCode-Find K Pairs with Smallest Sums