lintcode-medium-Kth Smallest Number in Sorted Matrix
2016-03-25 07:35
459 查看
Find the kth smallest number in at row and column sorted matrix.
Given k =
return
Given k =
4and a matrix:
[ [1 ,5 ,7], [3 ,7 ,8], [4 ,8 ,9], ]
return
5
public class Solution { /** * @param matrix: a matrix of integers * @param k: an integer * @return: the kth smallest number in the matrix */ public int kthSmallest(int[][] matrix, int k) { // write your code here if(matrix == null || matrix.length == 0 || matrix[0] == null || matrix[0].length == 0) return 0; int m = matrix.length; int n = matrix[0].length; k--; if(k < 0 || k > m * n - 1) return 0; PriorityQueue<point> queue = new PriorityQueue<point>(n, new Comparator<point>(){ public int compare(point p1, point p2){ return p1.val - p2.val; } }); for(int i = 0; i < n; i++){ queue.offer(new point(0, i, matrix[0][i])); } for(int i = 0; i < k; i++){ point temp = queue.poll(); if(temp.row + 1 < m){ queue.offer(new point(temp.row + 1, temp.col, matrix[temp.row + 1][temp.col])); } } return queue.poll().val; } class point{ int row; int col; int val; public point(int row, int col, int val){ this.row = row; this.col = col; this.val = val; } } }
相关文章推荐
- [BZOJ 1061][Noi2008]志愿者招募
- block,inline和inline-block概念和区别
- less的fadeout函数
- poj1637
- 贪心算法4之1008
- 由火车退票制度改革想到的民生问题
- 【Tyvj1185】【codevs1296】【BZOJ1588】营业额统计,Splay练习
- UVM之uvm_phase
- 贪心算法3之1001
- HDU 1045 Gridland(规律题目)
- 读MBA经历回顾(上)目的决定手段——北漂18年(48)
- 【BZOJ 1013】 [JSOI2008]球形空间产生器sphere|高斯消元
- Ubuntu 14.04还能看的过去的字体
- 12.11 编程练习
- (转)数字电路的设计验证
- NET平台常用的框架整理
- Windows 10中国定制版完工!更专业
- ASP.NET Core 1.0中的管道-中间件模式
- Linux 如何实现 VLAN - 每天5分钟玩转 OpenStack(12)
- oracle 创建DBLink