Непрерывные подпоследовательности списка - PullRequest
0 голосов
/ 14 сентября 2018
def allSubArrays(L,L2=None):
    if L2==None:
       L2 = L[:-1]
    if L==[]:
       if L2==[]:
          return []
       return allSubArrays(L2,L2[:-1])
    return [L]+allSubArrays(L[1:],L2)

Приведенный выше фрагмент кода генерирует все смежные подмассивы.

Пример: list = [1,2,3]

Вывод: [[1], [2], [3], [1,2], [2,3], [1,2,3]]

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

Как оптимизировать ее, чтобы она работала и для больших списков?

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