lintcode(401)排序矩阵中的从小到大第k个数
来源:互联网 发布:广电网络三合一机顶盒 编辑:程序博客网 时间:2024/05/16 23:04
描述:
在一个排序矩阵中找从小到大的第 k 个整数。
排序矩阵的定义为:每一行递增,每一列也递增。
样例:
给出 k = 4
和一个排序矩阵:
[ [1 ,5 ,7], [3 ,7 ,8], [4 ,8 ,9],]
返回 5
。
思路:
把原题分解成将若个有序数组的合并,建立数组记录各行已经的未合并元素的位置,直到循环执行k次为止
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){ return 0; } int result = 0; int[] row = new int[matrix.length]; for(int i = 0;i<row.length;i++){ row[i] = 0; } for(int j = 0;j<k;j++){ int flag = 0; int temp = Integer.MAX_VALUE; for(int i = 0;i<row.length;i++){ if(row[i] < matrix[0].length){ if(matrix[i][row[i]] < temp){ temp = matrix[i][row[i]]; flag = i; } } } row[flag]++; result = temp; } return result; }}
0 0
- lintcode(401)排序矩阵中的从小到大第k个数
- LintCode 401-排序矩阵中的从小到大第k个数
- LintCode-排序矩阵中的从小到大第k个数
- 排序矩阵中的从小到大第k个数-LintCode
- lintcode排序矩阵中的从小到大第k个数-401(Java版)
- 排序矩阵中的从小到大第k个数
- 排序矩阵中的从小到大第k个数
- lintcode kth-smallest-number-in-sorted-matrix 排序矩阵中的从小到大第k个数
- 题目:排序矩阵中的从小到大第k个数
- 排序矩阵(杨氏矩阵)中的从小到大第k个数(C++)
- 401.Kth Smallest Number in Sorted Matrix-排序矩阵中的从小到大第k个数(中等题)
- 排序矩阵(杨氏矩阵)找从小到大的第K个数(C++)
- 非排序寻找从小到大第3400个数
- 非排序寻找从小到大第3400个数
- Leetcode004--排序数组寻找第k个数
- 寻找数组中的第k个数
- 寻找数组中的第k个数(序)
- N个数中的第k个最大值
- spring学习之@ModelAttribute运用详解
- 代码Python入门(四、条件语句)
- Dos常用命令
- 使用类-运算符重载和友元
- Cisco路由器中Telnet, Console, AUX口login命令的含义
- lintcode(401)排序矩阵中的从小到大第k个数
- linux spark分布式集群搭建图文详解
- Butter Knife
- Linux基础配置ftp
- FastDfs (三) Nginx整合Fastdfs模块
- 芯片架构换血!如何评价微软在数据中心使用FPGA?
- 模拟海明码生成
- 湖北民族学院OJ 1778 (dfs)之 堆积木
- LeetCode 35. Search Insert Position