Дан одномерный массив числовых значений ,насчитывающий n элементов. Выполните перемещение элементов массива влево k раз ,то есть а(0)—>а(1); а(1)—>а(2); . а(n-1)—>a(0)
Дан одномерный массив числовых значений ,насчитывающий n элементов. Выполните перемещение элементов массива влево k раз ,то есть а(0)—>а(1); а(1)—>а(2); . а(n-1)—>a(0)
def shift_left(arr, k):
n = len(arr)
k = k % n # якщо k > n, зменшуємо його до k % n
# переставляємо k елементів на початок масиву
temp = arr[:k]
arr[:n-k] = arr[k:]
arr[n-k:] = temp
# приклад використання
arr = [1, 2, 3, 4, 5]
shift_left(arr, 2)
print(arr) # [3, 4, 5, 1, 2]
———
Ця функція приймає масив arr і кількість позицій k, на які необхідно зсунути елементи масиву вліво. За допомогою оператора % зменшуємо кількість позицій k, якщо вона перевищує розмір масиву n. Потім переставляємо перші k елементів масиву на його кінець, використовуючи тимчасовий масив temp.