###### tags: `LeetCode` `Medium` `Heap`
# LeetCode #378 [Kth Smallest Element in a Sorted Matrix](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/)
### (Medium)
給你一個 n x n 矩陣 matrix ,其中每行和每列元素均按升序排序,找到矩陣中第 k 小的元素。
請注意,它是 排序後 的第 k 小元素,而不是第 k 個 不同 的元素。
---
使用heap, 自動將輸入數字排序, 若heap數量大於k時, 將最大值pop掉。
在儲存全部元素後, 回傳heap的頂部元素(也就是全部元素中第k小的)即可。
---
```
class Solution {
public:
int kthSmallest(vector<vector<int>> &matrix, int k) {
int m = matrix.size(), n = matrix[0].size();
priority_queue<int> s;
for (int r = 0; r < m; ++r) {
for (int c = 0; c < n; ++c) {
s.push(matrix[r][c]);
if (s.size() > k) s.pop();
}
}
return s.top();
}
};
```