#11179. 有序矩阵中第 K 小的元素

内存限制:256 MiB 时间限制:60 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Turing001

题目描述

给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。

请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。

你必须找到一个内存复杂度优于 O(n^2) 的解决方案。

输入格式

第一行,正整数n,表示数组长度

接下来n行,矩阵 matrix的所有元素

最后一行,正整数k

输出格式

排序后 的第 k 小元素

样例

输入1:

3
1 5 9
10 11 13
12 13 15
8

输出1:

13

解释:矩阵中的元素为 [1,5,9,10,11,12,13,13,15],第 8 小元素是 13

输入2:

1
-5
1

输出2:

-5

数据范围与提示

1 <= n <= 500

-10^9 <= matrix[i][j] <= 10^9

题目数据 保证 matrix 中的所有行和列都按 非递减顺序 排列

1 <= k <= n^2

提示:二分法(mid=8)