0668:乘法表中第k小的数(★★)
目录
题目
几乎每一个人都用 乘法表。但是你能在乘法表中快速找到第 k
小的数字吗?
乘法表是大小为 m x n
的一个整数矩阵,其中 mat[i][j] == i * j
(下标从 1 开始)。
给你三个整数 m
、n
和 k
,请你在大小为 m x n
的乘法表中,找出并返回第 k
小的数字。
示例 1:
输入:m = 3, n = 3, k = 5 输出:3 解释:第 5 小的数字是 3 。
示例 2:
输入:m = 2, n = 3, k = 6 输出:6 解释:第 6 小的数字是 6 。
提示:
1 <= m, n <= 3 * 104
1 <= k <= m * n
相似问题:
- 0378:有序矩阵中第 K 小的元素
- 0719:找出第 K 小的数对距离
- 0786:第 K 个最小的质数分数(2168 分)
- 2604:吃掉所有谷子的最短时间
- 3116:单面值组合的第 K 小金额(2387 分)
分析
典型的二分问题,对于数字 x,计算表中 <=x 的个数即可。
解答
|
|
606 ms