Удалить элемент
Сдвигаем хвост влево внутри исходного списка.
Как к ней подойти
Потренируйтесь хранить последовательность значений и обращаться к нужным элементам списка.
Список хранит элементы в определённом порядке. Прежде чем менять его, решите, нужны ли исходные индексы и можно ли пройти по данным один раз. При удалении элементов будьте внимательны: индексы сдвигаются.
После сдвига последний элемент дублируется; удаляем его разрешённым pop без аргумента.
Проверьте перед запуском
- Индекс начинается с нуля; дополнительный список и pop(k) запрещены условием.
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Копирование соседей
После сдвига последний элемент дублируется; удаляем его разрешённым pop без аргумента.
a = list(map(int, input().split()))
k = int(input())
for i in range(k, len(a) - 1):
a[i] = a[i + 1]
a.pop()
print(*a)
Время: O(n). Память: O(n) исходный список, O(1) дополнительной памяти.
Другой способ: Перенос удаляемого элемента обменами
Соседние обмены перемещают удаляемое значение в конец, одновременно сдвигая остальные влево.
a = list(map(int, input().split()))
k = int(input())
for i in range(k, len(a) - 1):
a[i], a[i + 1] = a[i + 1], a[i]
a.pop()
print(*a)
Время: O(n). Память: O(n) исходный список, O(1) дополнительной памяти.