Прошу помочь решить задачу или хотя бы намекнуть, в какую сторону "копать". Дан массив целых чисел. Необходимо найти минимальное количество ходов, требуемых для приведения всех элементов массива к одному числу. За один ход можно уменьшить или увеличить один элемент массива на 1. Все достаточно просто пока массив выглядит вот так:
import math
nums = [1, 10, 2, 9]
result_digit = math.ceil((max(nums))/2)
count = 0
for id, i in enumerate(nums):
while i != result_digit:
if i < result_digit:
i += 1
count += 1
elif i > result_digit:
i -= 1
count += 1
else:
nums[id] = i
print(count)
Но, если
nums = [0, 0, 0, 1] тогда этот алгоритм не подходит и выведет результат 3 вместо 1. Массив может быть любой длинны.