

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Você deve implementar duas pilhas em um único array A[1…n] de modo que nenhuma das pilhas transborde, a menos que o número total de elementos nas duas pilhas juntas seja n. Considerando que as operações PUSH e POP sejam executadas em tempo O(1), assinale a opção cuja estratégia descrita permite essa implementação de forma eficiente.
Usando-se dois ponteiros, um começando no início do array para a primeira pilha e um começando no final do array para a segunda pilha, movendo-se em direção um ao outro à medida que os elementos são inseridos.
Usando-se um ponteiro no início do array para ambas as pilhas, inserindo elementos na primeira pilha e removendo da segunda pilha sempre que necessário.
Dividindo-se o array em duas partes iguais e atribuindo a primeira pilha à metade esquerda e a segunda pilha à metade direita. Os elementos entre as duas metades devem ser movidos conforme necessário.
Usando-se um array circular com ambas as pilhas crescendo em direções opostas e garantindo-se que os elementos sejam sempre inseridos na pilha com mais espaço disponível.
Implementando-se a primeira pilha utilizando a metade esquerda do array e a segunda pilha usando a metade direita, mas os tamanhos das pilhas podem mudar dinamicamente.


Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.