Имеется список из N элементов. Измените исходный список, поставив справа от каждого минимального элемента максимальный. Если максимум уже стоит справа от минимума, не добавляйте его повторно.
Формат входных данных
Вводится последовательность целых чисел через пробел – элементы списка.
Формат выходных данных
Вывести измененный список.
input :
5 0 4 3 0 2
output :
5 0 5 4 3 0 5 2
----
input :
-5 -5 -5 0 -5 -5 -5 -5 4 -5 -5
output :
-5 4 -5 4 -5 4 0 -5 4 -5 4 -5 4 -5 4 -5 4 -5 4
Жду ответа! Заранее спасибо!
Python
Мы продолжаем повторять этот процесс до тех пор, пока не обойдем весь список. В результате мы получим измененный список, где справа от каждого минимального элемента стоит максимальный элемент, если он еще не стоит там.
Надеюсь, это поможет вам решить вашу задачу.
Задача Python! Срочно! Задача: Каждому минимуму свой максимум!
numbers = list(map(int, input().split()))
min_val = min(numbers)
max_val = max(numbers)
for i in range(len(numbers)):
if numbers[i] == min_val:
for j in range(i+1, len(numbers)):
if numbers[j] == max_val:
break
numbers.insert(j, max_val)
break
print(*numbers)
Сначала мы считываем последовательность чисел из входных данных и находим минимальное и максимальное значения в этой последовательности. Затем мы проходимся по списку и ищем первое вхождение минимального элемента. Когда мы находим его, мы начинаем проходиться по списку справа от него, чтобы найти первое вхождение максимального элемента. Когда мы находим его, мы вставляем его в список рядом с минимальным элементом. Затем мы прекращаем выполнение цикла, так как мы уже нашли первое вхождение минимального элемента и добавили рядом с ним максимальный элемент. Мы продолжаем повторять этот процесс до тех пор, пока не обойдем весь список. В результате мы получим измененный список, где справа от каждого минимального элемента стоит максимальный элемент, если он еще не стоит там.
Надеюсь, это поможет вам решить вашу задачу.
Там в два цикла надо решать. Сначала бежим по циклу и находим минимальный и максимальный элемент. Потом второй раз бежим по циклу и смотрим если какая-то элемент равен минимуму, то следующий элемент ставим максимум. А по поводу не надо менять это всё хрень компьютер железный он всё стерпит.
lst = list(map(int, input().split()))
min_val = min(lst)
while True:
try:
idx = lst.index(min_val)
if idx == len(lst) - 1 or lst[idx+1] != max(lst[idx+1:]):
lst.insert(idx+1, max(lst[idx+1:]))
min_val = min(lst[idx+1:])
except ValueError:
break
print(*lst)
min_val = min(lst)
while True:
try:
idx = lst.index(min_val)
if idx == len(lst) - 1 or lst[idx+1] != max(lst[idx+1:]):
lst.insert(idx+1, max(lst[idx+1:]))
min_val = min(lst[idx+1:])
except ValueError:
break
print(*lst)
Похожие вопросы
- Задача python срочно нужно помочь решить
- СРОЧНО!!! Задача на python: "bf--"
- Помогите, пожалуйста, решить задачу Python
- Помогите, срочно Задача Python
- ОЧЕНЬ СРОЧНО!! Задача из тестирования по python, я не успеваю
- Проект Эйлера / Правильно ли решил задачу? Python
- Python Решение задачи на нахождение центра шахматной клетки.
- Напишите код к задаче python
- Помогите, пожалуйста, с задачей Python , Яндекс практикум.
- Помогите решить задачу python