Annettuna on lista, jossa on n kokonaislukua. Tehtäväsi on laskea, montako nousevaa alijonoa listassa on.
Voit olettaa, että 1 \le n \le 100. Algoritmisi tulee toimia tehokkaasti kaikissa tapauksissa.
Toteuta tiedostoon countseq.py
funktio count
, joka palauttaa tehtävän vastauksen.
def count(t): # TODO if __name__ == "__main__": print(count([1, 1, 2, 2, 3, 3])) # 26 print(count([1, 1, 1, 1])) # 4 print(count([5, 4, 3, 2, 1])) # 5 print(count([4, 1, 5, 6, 3, 4, 1, 8])) # 37
Selitys: Listan [1,1,2,2,3,3] nousevat alijonot ovat [1,2,3] (8 kertaa), [1,2] (4 kertaa), [1,3] (4 kertaa), [2,3] (4 kertaa), [1] (2 kertaa), [2] (2 kertaa) sekä [3] (2 kertaa).