Форум сайта python.su
0
Добрый день, хотел бы попросить о помощи с кодом.
Код работает и выдает правильный output, хоть и написан он криво, брал базу для inverse permutation.
Проблема заключается в том, что данный код работает с помощью nested loops, что делает его очень медленным.
Пробовал с itertools.product, но так код ломается и выдает в output: 1
Как можно решить данный вопрос?
numb = [int(item) for item in input().split() n = len(numb)-1 numb.pop(0) def InvP(numb, n): for i in range(0, n): #тут же использовал itertools.product для i и j, не помогло for j in range(0, n): if (numb[j] == i + 1): print(j + 1, end = " ") break InvP(numb, n) #Тестовый input/output: #input: 6 1 3 6 2 5 4 #output: 1 4 2 6 5 3
Отредактировано benny (Ноя. 3, 2021 16:36:26)
Офлайн
253
bennyИ насколько он медленный? Сколько тратится миллисекунд? Насколько это дольше чем ввод с клавиатуры последовательности при самом быстром темпе нажимания на кнопки? Какая скорость вас устроит?
что делает его очень медленным.
Отредактировано doza_and (Ноя. 3, 2021 19:56:21)
Офлайн
857
bennyОпределись сначала, что ты делаешь. Потом напиши эту задачу сюда. А потом мы будем думать, как она решается.
Пробовал с itertools.product, но так код ломается и выдает в output: 1
Как можно решить данный вопрос?
Офлайн