Итак, задача такова: вам дан массив целых чисел. На каждом ходу вам разрешено увеличивать ровно один из его элементов на один. Найдите минимальное количество ходов, необходимое для получения строго возрастающей последовательности из входных данных.
ПРИМЕР:
input_array = [1, 1, 1], на выходе должно быть array_change (input_array) = 3
это мой код, и он отлично работает, он правильно подсчитывает ходы, но для больших массивов он работает очень медленно. Как я могу оптимизировать мой код, чтобы сделать то же самое, но быстрее? или есть просто лучший и быстрый способ сделать это? МОЙ КОД:
def array_change(input_array):
l = len(input_array)
k = 0
for i in range(1, l):
while input_array[i - 1] >= input_array[i]:
input_array[i] += 1
k += 1
if input_array[i - 1] == input_array[i]:
input_array[i] += 1
k += 1
return k