378 有序矩陣中第K小的元素

2022-06-03 01:21:10 字數 772 閱讀 9995

給定乙個n x n矩陣,其中每行和每列元素均按公升序排序,找到矩陣中第k小的元素。

請注意,它是排序後的第k小元素,而不是第k個不同的元素。

示例:

matrix = [

[ 1, 5, 9],

[10, 11, 13],

[12, 13, 15]

],k = 8,

返回 13。

思路 : 在matrix[0][0]~matrix[length-1][length-1]之間二分查詢乙個數n, 遍歷陣列如果小於等於n的個數大於k, 則右邊界縮小為n,反之左邊界放大到n+1

public

class

q378

else

}return left;

}private

boolean

check

(int

m ,

int k ,

int n)

}else

}return sum >= k;

}public

static

void

main

(string[

] args),,

},8)

);}}

378 有序矩陣中第K小的元素

378.有序矩陣中第k小的元素 給定乙個n x n矩陣,其中每行和每列元素均按公升序排序,找到矩陣中第k小的元素。請注意,它是排序後的第k小元素,而不是第k個不同的元素。示例 matrix 1,5,9 10,11,13 12,13,15 k 8,返回 13。你可以假設 k 的值永遠是有效的,1 k ...

378 有序矩陣中第K小的元素

題目描述 給定乙個 n x n 矩陣,其中每行和每列元素均按公升序排序,找到矩陣中第 k 小的元素。請注意,它是排序後的第 k 小元素,而不是第 k 個不同的元素。示例 matrix 1,5,9 10,11,13 12,13,15 k 8,返回 13。你可以假設 k 的值永遠是有效的,1 k n2 ...

378 有序矩陣中第K小的元素

題目 給定乙個 n x n 矩陣,其中每行和每列元素均按公升序排序,找到矩陣中第 k 小的元素 思路及演算法 由題目給出的性質可知,這個矩陣的每一行均為乙個有序陣列。問題即轉化為從這 n 個有序陣列中找第 k 大的數,可以想到利用歸併排序的做法,歸併到第 k 個數即可停止。一般歸併排序是兩個陣列歸併...