CSES - Permutaatiot

Sinulle annetaan kaksi listaa AA ja BB, joissa molemmissa on lukujen 1n1 \dots n jokin permutaatio (eli molemmat listat sisältävät luvut 1n1 \dots n jossain järjestyksessä).

Tehtäväsi on laskea, moniko luvuista 1n1 \dots n esiintyy aiemmin listalla AA kuin listalla BB. Tavoitteena on, että algoritmin aikavaativuus on O(n)O(n).

Toteuta tiedostoon permutations.py funktio count, joka palauttaa halutun tuloksen.

def count(a, b):
    # TODO

if __name__ == "__main__":
    print(count([1,2,3], [1,2,3])) # 0
    print(count([2,3,4,1], [1,2,3,4])) # 3
    print(count([4,7,3,1,6,2,5], [5,6,1,2,4,3,7])) # 3
    print(count([5,4,9,1,8,3,2,6,7], [6,2,8,4,9,1,5,7,3])) # 5

Selitys: Ensimmäisessä esimerkissä molemmat listat AA ja BB ovat identtiset. Siksi mikään luku ei esiinny aikaisemmin listalla AA kuin BB. Toisessa esimerkissä luvut 22, 33 ja 44 esiintyvät listalla AA aiemmalla indeksillä kuin listalla BB.