[LeetCode]378. Kth Smallest Element in a Sorted Matrix
来源:互联网 发布:电脑抽奖软件下载 编辑:程序博客网 时间:2024/05/20 11:26
Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth smallest element in the matrix.
Note that it is the kth smallest element in the sorted order, not the kth distinct element.
Example:
matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,return 13.
解法1:priority_queue<int, vector<int>> 默认顶端数字大.修改顺序可添加greater<int>;
class Solution {public: int kthSmallest(vector<vector<int> >& matrix, int k) { int rows=matrix.size(); if(rows==0) return 0; int cols=matrix[0].size(); if(cols==0) return 0; priority_queue<int,vector<int> > pq; int res; for(int i=0;i<rows;i++){ for(int j=0;j<cols;j++){ pq.push(matrix[i][j]); if(pq.size()>k){ pq.pop(); } } } return pq.top(); }};
解法2:利用upper_bound(first,last, num)
class Solution {public: int kthSmallest(vector<vector<int>>& matrix, int k) { int n = matrix.size(); int le = matrix[0][0], ri = matrix[n - 1][n - 1]; int mid = 0; while (le < ri) { mid = le + (ri-le)/2; int num = 0; for (int i = 0; i < n; i++) { int pos = upper_bound(matrix[i].begin(), matrix[i].end(), mid) - matrix[i].begin(); num += pos; } if (num < k) { le = mid + 1; } else { ri = mid; } } return le; }};
0 0
- 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
- 378. [LeetCode]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
- leetcode 378. Kth Smallest Element in a Sorted Matrix
- 周笔记(17/52)
- PHPstorm Xdebug 调试(三张图就可以解决)
- 源码深度解析spring中防止乱码的过滤器
- 页面位置会向上偏移或者向下偏移
- tornado入门实例
- [LeetCode]378. Kth Smallest Element in a Sorted Matrix
- 如何使用Imatest进行色彩还原测试
- unpack(b) received extra data saltstack故障
- Android 中的IPC简单使用
- Java学习笔记(九)--Calendar类 正则表达式
- 利用java的IO流简单创建文件和赋值文件(内含简单代码)
- 提取字符串中的大写字母
- ASP.NET 统计连续签到天数
- MongoDB数据库备份