Leetcode 378. 有序矩阵中第K小的元素 解题思路及C++实现
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 378. 有序矩阵中第K小的元素 解题思路及C++实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
解題思路:
使用一個最大堆遍歷matrix中的數。保持最大堆中的元素數量不超過k,最后得到的堆頂元素值就是第k小的數。
?
class Solution { public:int kthSmallest(vector<vector<int>>& matrix, int k) {priority_queue<int> pq; //使用最大堆for(int i = 0; i < matrix.size(); i++){for(int j = 0; j < matrix[0].size(); j++){pq.push(matrix[i][j]);if(pq.size() > k) pq.pop();}}return pq.top();} };?
?
?
?
總結
以上是生活随笔為你收集整理的Leetcode 378. 有序矩阵中第K小的元素 解题思路及C++实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 373. 查找和最小的
- 下一篇: Leetcode 451. 根据字符出现