Задача понятна: прочитав N и N целых чисел, нужно получить массив, в котором каждый элемент повторяется дважды, и вывести его.
Понимание и план:
- Считаем N.
- Затем считаем N целых чисел в порядок.
- Создадим новый список res и для каждого элемента x добавим в него x два раза.
- Выведем res в виде обычного Python-списка: [a, a, b, b, ...].
- Сложность: время O(N), память O(N).
Примеры решений на Python (несколько вариантов):
Вариант 1: чтение всего ввода сразу и явное удваивание
- Плюс: удобен, когда вход может быть разбит на несколько строк.
- Код: import sys
data = list(map(int, sys.stdin.read().strip().split())) if not data: print("[]") sys.exit()
n = data[0] arr = data[1:1+n]
res = [] for x in arr: res.append(x) res.append(x)
print('[{}]'.format(', '.join(map(str, res))))
Вариант 2: построчное чтение (рабочий для ввода по строкам)
- Плюс: простое, естественно подходит для задачи в учебнике.
- Код: n = int(input().strip()) arr = [int(input().strip()) for _ in range(n)]
res = [] for x in arr: res.extend([x, x])
print(res)
Пояснения к примерам:
- Для входа: 3 4 5 2 результат будет: [4, 4, 5, 5, 2, 2]
Сложность:
- Время: O(N) — каждый элемент обработан константное число раз.
- Память: O(N) — хранится итоговый массив из 2N элементов.
Если хочешь, могу адаптировать решение под другой язык программирования или под конкретный формат ввода/вывода.