L2 = [3, 1, 8, 2, 5] def strict_croissante(seq): for i in range(len(seq) - 1): if seq[i] >= seq[i + 1]: return False return True def llsc_fin(tab, i): if i == 0: return 1 max_len = 1 for j in range(i): if tab[j] < tab[i]: max_len = max(max_len, llsc_fin(tab, j) + 1) return max_len def llsc_rec(tab): n = len(tab) return max([llsc_fin(tab, i) for i in range(n)]) def llsc_dyn(tab): n = len(tab) dyn = [1] * n for i in range(1, n): for j in range(i): if tab[j] < tab[i]: dyn[i] = max(dyn[i], dyn[j] + 1) return max(dyn)