给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。
请注意,它是排序后的第k小元素,而不是第k个元素。
示例:
matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ], k = 8, 返回 13。
说明:
你可以假设 k 的值永远是有效的, 1 ≤ k ≤ n2 。
题目标签:Heap / Binary Search
题目链接:LeetCode / LeetCode中国
用ruby解这题感觉有点不讲道理。
Language | Runtime | Memory |
---|---|---|
ruby | 76 ms | N/A |
# @param {Integer[][]} matrix
# @param {Integer} k
# @return {Integer}
def kth_smallest(matrix, k)
matrix.flatten.sort.at(k-1)
end