Найти - Пользователи
Полная версия: Наибольшая возростающая подпоследовательность.
Начало » Центр помощи » Наибольшая возростающая подпоследовательность.
1
RatiborMur
Реализовал так:
 def lis(A):
    F = [0]*(len(A))
    for i in range(1, len(A)):
        m = 1
        for j in range(0, i):
            if A[i] > A[j] and F[j] > m:
                m = F[j]
        F[i] = m + 1
    # print('F = '+str(F))
    return F[-1]
A=[1,3,0,5,2]
print('A = '+str(A))
print('The largest increasing subsequence '+str(lis(A)))
Но, достоверно, не пойму, правильный результат выдает или нет. Подскажите кто разбирается! Спасибо!
py.user.next
Не так это надо делать. Нужно сделать переменную “индекс_наибольшей”, переменную “длина_наибольшей” и потом сделать один цикл, который эти две переменные перезаписывает, когда это требуется. В конце в них останется индекс наибольшей подпоследовательности и её длина.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB