K-й наименьший элемент в отсортированной матрице
Бинарный поиск
Сложная
Дана матрица matrix размера n x n, каждая строка и каждый столбец отсортированы по возрастанию. Верните k-й по величине элемент среди всех n*n (1-индексация).
Полная сортировка всех элементов работает, но подумайте про бинарный поиск по ЗНАЧЕНИЮ ответа: для любого числа x можно за O(n) посчитать, сколько элементов матрицы не превышает x, двигаясь лесенкой от левого нижнего угла.
Сигнатура функции
kth_smallest(matrix: list[list[int]], k: int) -> int
Примеры
| Вход | Ожидаемый результат |
| [[[1, 5, 9], [10, 11, 13], [12, 13, 15]], 8] | 13 |
| [[[-5]], 1] | -5 |
1решили
1пытались
100%успешность
Войдите, чтобы решить →