Annettuna on lista, jossa on kokonaislukua. Tehtäväsi on muodostaa listan pisin nouseva alijono. Jos mahdollisia alijonoja on useita, voit muodostaa minkä tahansa niistä.
Esimerkiksi listassa pisin nouseva alijono sisältää neljä lukua. Mahdolliset alijonot ovat , ja .
Toteuta tiedostoon findlis.py
funktio find_sequence
, jolle annetaan lista kokonaislukuja. Funktion tulee palauttaa listan pisin nouseva alijono.
Funktion tulee toimia tehokkaasti, kun .
def find_sequence(numbers): # TODO if __name__ == "__main__": print(find_sequence([1, 2, 3])) # [1, 2, 3] print(find_sequence([3, 2, 1])) # [1] print(find_sequence([1, 1, 1, 1, 1])) # [1] print(find_sequence([1, 8, 2, 7, 3, 6])) # [1, 2, 3, 6] print(find_sequence([1, 1, 2, 2, 3, 3])) # [1, 2, 3] print(find_sequence([4, 1, 5, 6, 3, 4, 3, 8])) # [1, 3, 4, 8]