Баланс разнообразия в массиве
Hard
Дан массив
Значения, которых в выбранном отрезке нет, не учитываются. Нужен именно непрерывный фрагмент массива, а не произвольная подпоследовательность.
Например, при
nums и целое k. Найдите длину самого длинного непрерывного подмассива, в котором для каждого значения, которое в нём встречается, частота лежит в отрезке [k, 2·k].Значения, которых в выбранном отрезке нет, не учитываются. Нужен именно непрерывный фрагмент массива, а не произвольная подпоследовательность.
Например, при
k = 2 каждое присутствующее число может встречаться 2, 3 или 4 раза — не один раз и не пять и более.Примеры:
Вход:
{"nums": [1, 1, 2, 2, 2, 3, 3, 3], "k": 2}
Выход:
8
Объяснение: nums=[1,1,2,2,2,3,3,3], k=2. Весь массив: частоты 1→2, 2→3, 3→3. Допустимый диапазон [2,4], все частоты подходят → длина 8.
Вход:
{"nums": [5, 5, 5, 5, 5, 5], "k": 3}
Выход:
6
Объяснение: nums=[5,5,5,5,5,5], k=3. Одно значение с частотой 6; диапазон [3,6], 6 входит в него → длина 6.
Вход:
{"nums": [1, 2, 3, 4, 5], "k": 1}
Выход:
5
Объяснение: nums=[1,2,3,4,5], k=1. Каждое число встречается ровно один раз; диапазон [1,2], все частоты валидны → длина 5.
Ограничения:
1 <= nums.length <= 10^5
1 <= nums[i] <= 10^4
1 <= k <= 100
Комментарии (0)
Войдите, чтобы оставить комментарий
Пока нет комментариев. Будьте первым!