Допустим, нам задан массив A[]
длины N
, и мы должны ответить Q
запросами, которые состоят из двух целых чисел L,R
. Мы должны найти номер от A[L]
до A[R]
, который имеет свою частоту не менее (R-L+1)/2
. Если такого числа не существует, мы должны напечатать «Нет такого числа»Как найти наиболее частое число и его частоту в массиве в диапазоне L, R наиболее эффективно?
Я мог думать только о запуске частотного счетчика и первом получении наиболее частого числа в массиве от L to R
. Затем подсчитайте его частоту.
Но требуется дополнительная оптимизация.
Ограничения:1<= N <= 3*10^5
,, 1<=Q<=10^5
, 1<=L<=R<=N
Что нижняя и верхняя граница N @Shantunu –
1 <= N <= 3 * 10^5, , 1 <= Q <= 10^5 , 1 <= L <= R <= N –
Можете ли вы ссылаться на оригинальное заявление о проблеме? –