CSES - Vuorottelu

Saat syötteenä listan, joka sisältää luvut 1 \dots n jossain järjestyksessä. Tehtäväsi on laskea listan vuorottelevien osajonojen lukumäärä.

Tässä vuorotteleva tarkoittaa sitä, että osajonossa seuraava luku on aina vuorotellen pienempi tai suurempi kuin edellinen. Esimerkiksi listan [1,4,5,2,7,3,6] osajono [5,2,7,3] on vuorotteleva, koska 5>2, 2<7 ja 7>3. Yhden tai kahden alkion osajono on aina vuorotteleva.

Algoritmin aikavaativuuden tulee olla O(n).

Toteuta tiedostoon alternation.py funktio count, joka palauttaa vuorottelevien osajonojen lukumäärän.

def count(t):
    # TODO

if __name__ == "__main__":
    print(count([1,2,3,4])) # 7
    print(count([1,4,2,5,3])) # 15
    print(count([7,2,1,3,5,4,6])) # 17 
    print(count([1,4,5,2,7,3,6])) # 23