Для массива чисел положительных целых чисел вызовите (непрерывные, не обязательно различные ) подмассив чисел «хорошо», если количество различных целых чисел в этом подмассиве равно k. Например, [1,2,3,1,2] имеет 3 разных целых числа: 1, 2 и 3. Возвращает количество хороших подмассивов чисел.
Посмотрев на решение здесь, я смог придумать следующий подход со скользящим окном :
Код: Выделить всё
class Solution {
public:
int helper(vector& nums, int B) {
unordered_map m;
int start=0, end=0, count=0;
while(endB) {
m[nums[start]]--;
if(m[nums[start]]точно равно k различным целым числам.
Что я понимаю?
Подробнее здесь: [url]https://stackoverflow.com/questions/68464109/intuition-behind-calculating-values-for-atmost-k-and-atmost-k-1-to-get-the-a[/url]