Descreva um algoritmo que, dado um vetor de N números inteiros (dados), identifique todos os valores…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva um algoritmo que, dado um vetor de N números inteiros (dados), identifique todos os valores duplicados e retorne uma lista com esses duplicados. Explique as variáveis e estruturas usadas e o fluxo lógico.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Variáveis: vetor input[], conjunto visto, lista duplicados. Estrutura: hash set para visto e lista para resultado. Fluxo: inicialize visto vazio e duplicados vazio; para cada valor v em input: se v não está em visto, adicione a visto; senão, se v não está em duplicados, adicione a duplicados. Retorne duplicados. Alternativa: usar dicionário (map) contando ocorrências e coletar chaves com contagem >1. Complexidade típica O(N).
Explicação
A abordagem utiliza um conjunto para rastrear os números já vistos, garantindo que cada duplicado seja registrado apenas uma vez na lista final. O uso de um hash set permite operações de inserção e verificação de pertencimento em tempo constante, otimizando a eficiência do algoritmo. A alternativa apresentada, que envolve um dicionário, também é válida, pois permite contar as ocorrências e identificar duplicados de forma eficaz.
Raio-X da questão
algoritmo de duplicados
avaliacao
estruturas de dados · lógica de programação
Revisar conceitos de vetores e estruturas de controle em algoritmos.
O aluno pode confundir a lógica de verificação de duplicados, não considerando corretamente as comparações entre os elementos do vetor.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Proponha uma decomposição em subtarefas e escreva um esboço de pseudocódigo para um algoritmo que identifica e agrupa…
- Projete em pseudocódigo um algoritmo que receba uma lista de nomes de alunos (dados) e retorne a mesma lista sem…
- Projete um algoritmo em pseudocódigo que, dado um vetor de números inteiros com tamanho par, percorra o vetor em pares…
- Descreva um algoritmo que utilize variáveis para resolver o problema de contar quantas vezes um número aparece em uma…
- Descreva um algoritmo que organize uma lista de números inteiros em ordem crescente. Quais estruturas de dados você…
- Explique como você utilizaria um algoritmo de repetição simples para contar quantas vezes um número aparece em uma lista…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
