Sinulle annetaan kaksi listaa ja , joissa molemmissa on lukujen jokin permutaatio (eli molemmat listat sisältävät luvut jossain järjestyksessä).
Tehtäväsi on laskea, moniko luvuista esiintyy aiemmin listalla kuin listalla . Tavoitteena on, että algoritmin aikavaativuus on .
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 ja ovat identtiset. Siksi mikään luku ei esiinny aikaisemmin listalla kuin . Toisessa esimerkissä luvut , ja esiintyvät listalla aiemmalla indeksillä kuin listalla .