LeetCode 378. Kth Smallest Element in a Sorted Matrix
程序员文章站
2022-06-16 23:41:39
...
题目链接:https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/description/
struct point {
int ary, col;
explicit point(int x, int y) :ary(x), col(y) {}
point operator++(int) {
return point(this->ary, this->col + 1);
}
};
template<class _Ty1, class _Ty2> struct MyGreater {
typedef pair<_Ty1, _Ty2> type;
constexpr bool operator()(const pair<_Ty1, _Ty2>& lhs, const pair<_Ty1, _Ty2>& rhs) {
return lhs.first > rhs.first;
}
};
class Solution {
public:
int kthSmallest(vector<vector<int>>& matrix, int k) {
int size = matrix.size();
priority_queue<pair<int, point>,
vector<pair<int, point>>,
MyGreater<int, point>> pq;
for (int i = 0; i < size; ++i)
pq.push(make_pair(matrix[i][0], point(i, 0)));
for (int i = 0; i < k - 1; ++i) {
auto data = pq.top();
pq.pop();
if (data.second.col + 1 < size)
pq.push(make_pair
(matrix[data.second.ary][data.second.col + 1], data.second++));
}
return pq.top().first;
}
};
推荐阅读
-
***Leetcode 378. Kth Smallest Element in a Sorted Matrix
-
[leetcode] 378. Kth Smallest Element in a Sorted Matrix
-
【LeetCode】378. Kth Smallest Element in a Sorted Matrix
-
Leetcode #378. Kth Smallest Element in a Sorted Matrix
-
LeetCode 378. Kth Smallest Element in a Sorted Matrix
-
LeetCode 378. Kth Smallest Element in a Sorted Matrix
-
[LeetCode] 378. Kth Smallest Element in a Sorted Matrix
-
leetcode 378. Kth Smallest Element in a Sorted Matrix
-
【leetcode】378. Kth Smallest Element in a Sorted Matrix
-
[LeetCode] 378. Kth Smallest Element in a Sorted Matrix