Pilha de Tamanho Fixo
Você faz parte de uma equipa de desenvolvimento para uma plataforma de ensino de programação. Como parte de uma lição sobre manipulação de exceções e criação de estruturas de dados, pediram-lhe para implementar uma classe Stack
em Python. Esta pilha tem um tamanho fixo e suporta três operações:
push(item)
: Adiciona um item ao topo da pilha.pop()
: Remove e retorna o item do topo da pilha.peek()
: Visualiza o item no topo da pilha sem removê-lo.
No entanto, a sua classe Stack
deve cumprir as seguintes restrições:
A operação
push(item)
deve levantar uma exceçãoStackOverflowError
se tentar adicionar um item a uma pilha cheia.A operação
pop()
deve levantar uma exceçãoStackEmptyError
se tentar remover um item de uma pilha vazia.
Para criar uma boa abstração de herança entre classes, as exceções StackOverflowError
e StackEmptyError
devem herdar de Exception
e não aceitar argumentos nos seus métodos __init__
.
Entrada | Saída |
---|---|
| StackOverflowError: The stack is full |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB