Bobdoesmathall Ответов: 1

Как выполнить эту функцию рекурсивно?


# totalIndexSeq = ['0+234+6+', '++++++', '012++5678']

def longestSeqFinder(totalIndexSeq):
    positionCounter = 0
    positionChecker = 0
    tryList = []
    longestSeqList = []

    for y in totalIndexSeq:

        temp = y.split("+")
        tryList.append(temp)

    for i in tryList:
        longestSeq = (max(i, key = len))
        longestSeqList.append(longestSeq)


Что я уже пробовал:

Я новичок в программировании и, честно говоря, не знаю, с чего начать.

CPallini

Я не вижу никакой пользы для рекурсии в такой функции. Я имею в виду, что итерация там в порядке.

Richard MacCutchan

Поскольку вы новичок, я бы посоветовал вам забыть о рекурсии, пока у вас не будет больше опыта и вы не сможете понять, когда это может быть полезно. В приведенном выше случае рекурсия вряд ли вам поможет.

1 Ответов

Рейтинг:
2

Christian Graus

Рекурсия означает, что функция вызывает саму себя. Если ваша функция вызывает саму себя, она использует рекурсию. Очевидным использованием рекурсии было бы перемещение по дереву, метод всегда проходит через дочерние элементы узла и вызывает сам себя. Когда дерево заканчивается, рекурсия заканчивается.

У меня были вопросы интервью, которые просили меня написать рекурсивную функцию там, где она не имеет смысла. Рекурсия - это не сложная вещь, есть тонны учебников и примеров. Если вы хотите изучить рекурсию, я бы предложил начать с примера, где ее имеет смысл использовать


Maciej Los

5ed!