给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。
请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。
你必须找到一个内存复杂度优于 O(n2) 的解决方案。
class Solution {
public int kthSmallest(int[][] matrix, int k) {
int rows=matrix.length,columns=matrix[0].length;
int [] sorted=new int[rows*columns];
int index=0;
for(int[] row :matrix){
for(int num:row){
sorted[index++]=num;
}
}
Arrays.sort(sorted);
return sorted[k-1];
}
}