Минимизируйте произведение максимальных чисел в двух массивах с помощью свопов

Опубликовано: 19 Сентября, 2022

Имея 2 массива arr1[] и arr2[] размера N , задача состоит в том, чтобы найти минимальное произведение максимумов обоих массивов. путем выполнения операции подкачки любое количество раз. В одной операции подкачки выбирается любой индекс массива, и arr1[index] и arr2[index] меняются местами.

Примеры:

Input: N = 2, arr1[2] = [1, 3], arr2[2] = [4, 1]
Output: 4
Explanation: Taking index = 1, swapping the arrays values, arr1 becomes, arr1[2] = [1. 1] and arr[2] = [4. 3]. Maximum of arr1 = 1 and maximum of arr2 = 4. Max(arr1)*Max(arr2) = 1*4 = 4. 

Input: N = 6, arr1[6] = [1, 2, 6, 5, 1, 1], arr2[6] = [3, 4, 3, 2, 2, 4]
Output: 18

Подход: Задачу можно решить с помощью указателей и сортировки . Выполните следующие шаги, чтобы решить проблему:

  1. Запустить цикл из индекс = 0 до индекса = n -1
  2. Если arr1[index] < arr2[index] поменять местами эти значения.
  3. В конце отсортируйте два массива и получить arr1[n-1]*arr2[n-1] в качестве требуемого ответа.

Ниже приведена реализация вышеуказанного подхода:


Временная сложность : O(NlogN)
Вспомогательное пространство : O(N)

Эффективный подход: минимизировать произведение максимальных чисел в двух массивах с помощью свопов | Набор 2

РЕКОМЕНДУЕМЫЕ СТАТЬИ