Найти минимальные элементы в каждой группе массиваJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Найти минимальные элементы в каждой группе массива

Сообщение Гость »

Дайте массив чисел размера n, выберите группу размера m, найдите k-й минимальный элемент в этой группе.
Пример:

Код: Выделить всё

arr = [1, 3, 2, 1], m = 3, k = 2
m represents a group size
k represents the kth minimum element in the group of size m
so find the 2nd minimum element in a group of size 3.

There are 2 contiguous groups possible:
[1, 3, 2] and [3, 2, 1]

k = 2 , 2nd minimum element in above groups is [2,2]
Ограничения:

Код: Выделить всё

k, m , n are of size 1 to 10^5
array item is of size 1 to 10^9
Вот мой код:
Подход 1:
Это мой наивный подход:

Код: Выделить всё

public static int[] solve(int[] arr, int m, int k) {
List result = new ArrayList();
int n = arr.length;
for(int i=0; i Integer.compare(b, a));

for (int i = 0; i < m; i++) {
q.add(arr[i]);
if (q.size() > k) {
q.poll();
}
}
result[0] = q.peek();

for (int i = 1; i 

Подробнее здесь: [url]https://stackoverflow.com/questions/78180982/find-min-items-in-each-group-of-array[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»