Kth Smallest Element in a Sorted Matrix
题意
给定一个矩阵,行有序,列有序,问你这个矩阵中第k小的数字是多少。
解法
因为有序,所以我们可以用二分,在这里我们在二维数组中进行二分。首先取矩阵中的最小值和最大值,分别为矩阵的最左上角和最右下角。然后二分,二分出来的值,我们在矩阵中寻找比它小或者等于的数,寻找的时候我们对行进行遍历,列的话我们先从最右边开始,逐渐减少即可,因为这个矩阵它是符合行从小到大有序和列从小到大有序的规则的。
代码
|
|
Nothing is too difficult, if you put your heart into it.
给定一个矩阵,行有序,列有序,问你这个矩阵中第k小的数字是多少。
因为有序,所以我们可以用二分,在这里我们在二维数组中进行二分。首先取矩阵中的最小值和最大值,分别为矩阵的最左上角和最右下角。然后二分,二分出来的值,我们在矩阵中寻找比它小或者等于的数,寻找的时候我们对行进行遍历,列的话我们先从最右边开始,逐渐减少即可,因为这个矩阵它是符合行从小到大有序和列从小到大有序的规则的。
|
|