1
resposta

Resposta - Organizando elementos únicos

HashSet<int> scores = new HashSet<int>();
scores.Add(150);
scores.Add(90);
scores.Add(200);
scores.Add(120);
scores.Add(150);
scores.Add(80);
scores.Add(180);
scores.Add(200);

List<int> sortedScores = new List<int>(scores);
sortedScores.Sort();

Console.WriteLine($"Scores unicos em ordem crescente:");
foreach (var pontuacoes in sortedScores)
{
Console.WriteLine(pontuacoes);
}
1 resposta

Oi, Jonas.

Meus parabéns por concluir o desafio de organizando elementos únicos. É excelente ver como você aplicou a combinação estratégica de diferentes coleções para resolver um problema comum em sistemas de alto desempenho.

A sua solução tá boa e segue exatamente o fluxo lógico necessário para garantir dados limpos e ordenados. Ao utilizar o HashSet<int>, você delegou ao C# a tarefa de ignorar automaticamente valores repetidos, o que é muito mais performático do que fazer verificações manuais com if. A conversão para List<int> logo em seguida foi a escolha correta, pois permitiu o uso do método Sort() para organizar as pontuações do menor para o maior.

Pra enriquecer sua jornada no estudo de coleções, vale notar que o C# oferece uma estrutura chamada SortedSet<int>. Ela funciona como um híbrido entre as duas que você usou: ela não permite duplicatas e já mantém os elementos ordenados automaticamente no momento da inserção (Add). Usando o SortedSet, você conseguiria o mesmo resultado sem precisar converter para uma lista e chamar o Sort(). Você pode explorar mais sobre isso na documentação oficial sobre coleções genéricas no .NET.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!