Implementeu una classe per a piles sense duplicats. En fer un p.push(element), no apilarem res a la pila p si l’element ja hi és.
La vostra implementació ha de ser senzilla i eficient (tant en espai com en temps). Comproveu els possibles errors amb assercions. Documenteu el vostre codi adequadament.
Entrada
L’entrada serà una seqüència d’instruccions push (amb allò que calgui apilar, en aquests exemples farem servir enters), pop, cim, mida i buida. Vegeu els jocs de proves públics.
Sortida
Escrivim al stdout el resultat de les instruccions cim, mida i buida.
Observacions
Heu de baixar-vos el fitxer code.py (consell: renombreu-lo, ja que en alguns editors el nom code us pot portar problemes), l’heu de completar amb el codi que falta, i això, tot, és el que heu d’enviar al Jutge com a solució.
Penseu bé com feu que la comprovació de la presència o no d’un element a la pila sigui eficient.
L’eficiència i la qualitat de la solució es tindran en compte a la correcció manual.
Input
mida push 3 push 5 push 2 push 3 mida cim pop cim pop cim pop buida
Output
0 3 2 5 3 True
Input
push 2 push 2 push 2 mida pop buida push 2 buida
Output
1 True False