Абсолютная разница между минимальной суммой массива, деленной на X, и минимальной суммой каждого элемента массива при делении на X

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

Дан массив A[] и положительное целое число X . Задача состоит в том, чтобы найти абсолютную разницу между полом общей суммы, деленной на X , и суммой пола каждого элемента A[] , деленной на X.

Примеры:

Input: A[] = {1, 2, 3, 4, 5, 6}, X = 4
Output: 2
Explanation

  • Sum of A[] = 1 + 2 + 3 + 4 + 5 + 6 = 21
  • Sum of A[] divided by X = 21 / 4 = 5
  • Sum of floor of every element divided by X = 1 / 4 + 2 / 4 + 3 / 4 + 4 / 4 + 5 / 4 + 6 / 4 = 0 + 0 + 0 + 1 + 1 + 1 = 3
  • Absolute Difference = 5 – 3 = 2

Input: A[] = {1, 2}, X = 2
Output: 0

Подход : выполните указанные шаги, чтобы решить проблему.

  • Инициализируйте две переменные: totalFloorSum = 0 и FloorSumPerElement = 0.
  • Пройдите массив для i в диапазоне [0, N – 1]
    • Обновление totalFloorSum = totalFloorSum + A[i] и FloorSumPerElement = FloorSumPerElement + floor(A[i] / X)
  • Обновить totalFloorSum = totalFloorSum / N
  • После выполнения вышеуказанных шагов выведите абсолютную разницу между totalFloorSum и FloorSumPerElement.

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

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