python превышен лимит времени перестановки - PullRequest
1 голос
/ 10 февраля 2020

У меня есть число n, которое имеет максимальное значение до 1_000_000

Я должен создать список с li=range(0,n) и найти перестановку из 2 элементов

Я использую этот код

from itertools import permutations 
perm = permutations(li,2)
for i in list(perm): 
    print(i)  

этот код работает для небольших значений n

, но если его большое число, я получаю ошибку превышения лимита времени

Как я могу решить ошибка превышения времени ожидания без использования внешних библиотек

1 Ответ

0 голосов
/ 10 февраля 2020

не приводите для перечисления вашей переменной perm, просто используйте perm в своем запросе l oop:

for i in perm: 
    print(i)

, заботьтесь: ваша программа займет много времени так как у вас есть 999999000000 строк для печати

причина не приводить к списку вашей переменной perm это не хранить в памяти все перестановки (вы, вероятно, выйдете из памяти или займет много времени). время)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...