lc378.有序矩阵中第K小的元素
                    目录
                    
                
                
            378.有序矩阵中第 K 小的元素
- 如何判断一个数
num在矩阵中处于第k小?从左下角向上移动,如果当前位置matrix[x][y] <= num,那么说明这一列前面所有的行都比该数小,那么叠加x+1,列向右移动y+=1。否则x向上移动(也就是行向上移动),直到满足matrix[x][y] <= num或者移动出有序矩阵。 - 知道如何判断一个数处于第k大之后,那么我们可以将
l=matrix[0][0], r=matrix[m-1][n-1],对于这个区间内的数字进行二分查找,查找第一个满足处于第k小的元素。 - 这个元素一定在矩阵当中。举例
[1, 2, 4, 10],k=3,对任意数4<=x<10均满足在矩阵中满足条件的元素个数cnt=3,但是第一个满足cnt=3的元素一定是4,因为它包含等于的情况, 也就是它自己。 - $T:O(nlog(r-l))$,
r是矩阵中的最大值,l是矩阵中的最小值,n是矩阵的大小 
 | 
 |