2381 - Lista de Chamada
Um problema bastante tranquilo com várias formas diferenciadas de se resolver, testando sua criatividade e conhecimento de estruturas de linguagem.
Descrição
Solução
Este problema se resume a encontrar o k-ésimo menor elemento em um vetor, onde o k é dado pelo enunciado. Para este problema em específico temos algumas soluções viáveis com suas respectivas complexidades, mas por questão de simplicidade, aqui só vou colocar a mais simples. Mas só à caráter expositivo, as soluções mais eficientes envolvem heaps e até mesmo um algoritmo linear chamado QuickSelect.
Mas, bem, a solução mais simples é ordenar o vetor e escolher o k-ésimo elemento.
Complexidades
Termo assintótico
Tempo
O(n log n) para a ordenação
Espaço adicional
O(1)
Normalmente essa é a primeira maneira que a gente pensa para resolver o problema. São duas simples etapas:
Ordenar o vetor
Retornar o k-ésimo elemento do vetor ordenado
Last updated
Was this helpful?