Найти - Пользователи
Полная версия: Сдвиг влево
Начало » Python для новичков » Сдвиг влево
1
sam2134
Напишите программу, которая выполняет циклический сдвиг элементов массива влево на R элементов.

Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 . В третьей строке записано число R ( 0 ≤ R ≤ N ).

Выходные данные
Программа должна вывести в одну строчку все элементы получившегося массива, разделив их пробелами.
AD0DE412
и? … ваши мысли на этот счет
py.user.next
sam2134
Гарантируется, что 0 < N ≤ 10000
Срезы не подойдут из-за высокого потребления памяти. Используй простой цикл и перестановку по одному. Дек может быть не везде, так как бывают учебные среды с обрезанными питонами.

Хотя в repl.it можно проверить.
https://repl.it/repls/GranularFuchsiaDecimal#main.py

  
>>> import collections
>>> 
>>> lst = [1, 2, 3, 4, 5]
>>> n = 3
>>> 
>>> deque = collections.deque(lst)
>>> deque
deque([1, 2, 3, 4, 5])
>>> 
>>> deque.rotate(-n)
>>> print(deque)
deque([4, 5, 1, 2, 3])
>>> 
>>> print(*deque)
4 5 1 2 3
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB