Donada una permutació, quin és el seu cicle més llarg?
Per exemple, considereu la permutació (2, 6, 3, 5, 4, 1):
Si mirem la primera posició, ens diu que anem a la posició 2. La segona posició ens diu que anem a la posició 6. La sisena posició ens diu que tornem a la posició 1, tancant un cicle de longitud 3.
La tercera posició ens diu que ens quedem a la tercera posició, tancant un cicle de longitud 1.
Finalment, la quarta posició ens du a la cinquena, i la cinquena ens torna a la quarta, tancant un cicle de longitud 2.
Per tant, el cicle més llarg d’aquesta permutació té longitud 3.
Escriu una funció cicle_mes_llarg(p)
que, donada una llista no buida p que conté una permutació
dels nombres
(
és la mida de p), retorni la longitud del cicle més llarg
d’aquesta permutació p.
Teniu exemples en el joc de proves públic.
La funció té una llista com a paràmetre. Aquesta llista ha de
contenir una permutació dels nombres
,
on
és la mida de p.
Un cop definida la funció, en provar-la al REPL de Python us hauria de sortir el mateix que podeu observar més avall.
>>> cicle_mes_llarg([2,6,3,5,4,1]) 3 >>> cicle_mes_llarg([1,2,3,4,5]) 1 >>> cicle_mes_llarg([3,1,4,2]) 4 >>>