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çãoStackOverflowErrorse tentar adicionar um item a uma pilha cheia.A operação
pop()deve levantar uma exceçãoStackEmptyErrorse 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