Уменьшите временные затраты на обработку подмассивов ⇐ JAVA
-
Гость
Уменьшите временные затраты на обработку подмассивов
Для заданного целочисленного массива размера n найти все возможные подмассивы размера k в диапазоне от 1 до n.
Теперь найдите общий элемент, который также является минимальным во всех подмассивах размера k. Если общий элемент не найден, используйте -1 и добавьте его в список результатов.
Например:
Входной массив: [4,3,3,4,2] Результат:
[-1,-1,3,3,2] Объяснение:
k = 1, [4],[3],[3],[4],[2], общего элемента нет, поэтому -1 k = 2, [4,3],[3,3],[3,4],[4,2], общего элемента нет, поэтому -1 k = 3, [4,3,3], [3,3,4], [3,4,2], общий элемент — 3 k = 4, [4,3,3,4],[3,3,4,2], общие элементы — 3 и 4, минимум — 3 k = 5, [4,3,3,4,2], минимальный общий элемент — 2 Это мой наивный код с комментариями:
public static Listsolve(int[] ar) { // Получаем все подмассивы на карте, с ключом в качестве размера подмассива от 1 до n и значением в качестве соответствующего подмассива Map карта = subArrays(ar); int n = map.size(); Результат List = новый ArrayList(); for(int i=0; i
Для заданного целочисленного массива размера n найти все возможные подмассивы размера k в диапазоне от 1 до n.
Теперь найдите общий элемент, который также является минимальным во всех подмассивах размера k. Если общий элемент не найден, используйте -1 и добавьте его в список результатов.
Например:
Входной массив: [4,3,3,4,2] Результат:
[-1,-1,3,3,2] Объяснение:
k = 1, [4],[3],[3],[4],[2], общего элемента нет, поэтому -1 k = 2, [4,3],[3,3],[3,4],[4,2], общего элемента нет, поэтому -1 k = 3, [4,3,3], [3,3,4], [3,4,2], общий элемент — 3 k = 4, [4,3,3,4],[3,3,4,2], общие элементы — 3 и 4, минимум — 3 k = 5, [4,3,3,4,2], минимальный общий элемент — 2 Это мой наивный код с комментариями:
public static Listsolve(int[] ar) { // Получаем все подмассивы на карте, с ключом в качестве размера подмассива от 1 до n и значением в качестве соответствующего подмассива Map карта = subArrays(ar); int n = map.size(); Результат List = новый ArrayList(); for(int i=0; i
Мобильная версия