Skip to content

Commit b6313fc

Browse files
Merge pull request #568 from tolookme/master
078 第三周作业提交
2 parents c43659d + 6df4055 commit b6313fc

2 files changed

Lines changed: 74 additions & 0 deletions

File tree

Week_03/id_78/LeetCode_373_78.cpp

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
class Solution {
2+
3+
public:
4+
5+
struct cmpare {
6+
bool operator () (pair<int, int> a, pair<int, int> b) {
7+
return (a.first + a.second) > (b.first + b.second);
8+
}
9+
};
10+
11+
vector<vector<int>> kSmallestPairs(vector<int>& nums1, vector<int>& nums2, int k) {
12+
13+
priority_queue<pair<int, int>,vector<pair<int, int>>,cmpare> heap;
14+
int i,j;
15+
int len1 = nums1.size();
16+
int len2 = nums2.size();
17+
18+
for (i = 0; i < len1; i++){
19+
for(j = 0; j < len2; j++) {
20+
heap.push(make_pair(nums1[i],nums2[j]));
21+
}
22+
}
23+
24+
vector<vector<int> > res;
25+
while (k-- > 0 && heap.size() > 0) {
26+
vector<int> vec;
27+
pair<int,int> p1;
28+
p1 = heap.top();
29+
vec.push_back(p1.first);
30+
vec.push_back(p1.second);
31+
res.push_back(vec);
32+
heap.pop();
33+
}
34+
35+
return res;
36+
}
37+
};
38+

Week_03/id_78/LeetCode_703_78.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
class KthLargest {
2+
public:
3+
4+
KthLargest(int k, vector<int>& nums) {
5+
m_size = k;
6+
int len = nums.size();
7+
int i = 0;
8+
for (i = 0; i < len; i++) {
9+
heap.push(nums[i]);
10+
if (heap.size() > m_size) {
11+
heap.pop();
12+
}
13+
}
14+
}
15+
16+
int add(int val) {
17+
heap.push(val);
18+
if (heap.size() > m_size) {
19+
heap.pop();
20+
}
21+
22+
return heap.top();
23+
}
24+
25+
private:
26+
priority_queue<int, vector<int>, greater<int> > heap;
27+
int m_size;
28+
29+
};
30+
31+
/**
32+
* Your KthLargest object will be instantiated and called as such:
33+
* KthLargest* obj = new KthLargest(k, nums);
34+
* int param_1 = obj->add(val);
35+
*/
36+

0 commit comments

Comments
 (0)