Число различных чисел на отрезке (офлайн-запросы)
Массивы (списки)
Экстремальная
Дан массив nums и список запросов queries, каждый - пара [l, r] (индексы включительно). Для каждого запроса верните количество РАЗЛИЧНЫХ значений на отрезке nums[l..r].
Все запросы даны заранее (офлайн) - воспользуйтесь этим: отсортируйте запросы по правому концу и обрабатывайте массив слева направо, поддерживая структуру, где отмечена только ПОСЛЕДНЯЯ позиция каждого встреченного значения (дерево Фенвика для быстрого пересчёта суммы пометок на отрезке).
Сигнатура функции
distinct_count_in_ranges(nums: list[int], queries: list[list[int]]) -> list[int]
Примеры
| Вход | Ожидаемый результат |
| [[1, 2, 1, 3, 2], [[0, 4], [0, 2], [3, 4]]] | [3, 2, 2] |
| [[1], [[0, 0]]] | [1] |
1решили
1пытались
100%успешность
Войдите, чтобы решить →