Revisão - Itens Únicos
Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 64 de 66.
Desafio
FácilEscreva uma função get_unique_items que recebe numbers e retorna um vetor contendo apenas os valores únicos da entrada.
Use um hash map para rastrear quais números você já viu, então construa um vetor de resultado contendo apenas números que aparecem exatamente uma vez na entrada.
Lógica:
- Crie um hash map para contar as ocorrências de cada número
- Itere pelo vetor de entrada e atualize a contagem para cada número
- Crie um vetor de resultado
- Itere pelo vetor de entrada novamente e adicione os números que têm uma contagem de 1 ao resultado
- Retorne o vetor de resultado
Parâmetros:
numbers(Vec<i32>): Um vetor de inteiros que pode conter duplicatas
Retorna: Um vetor contendo apenas os números que aparecem exatamente uma vez na entrada, na ordem em que apareceram pela primeira vez (Vec<i32>)
Experimente você mesmo
fn get_unique_items(numbers: Vec<i32>) -> Vec<i32> {
// Escreva o código aqui
}
Todas as lições de Logic & Flow
1Fluxo de Controle Avançado
A Expressão 'match'Correspondência de Múltiplos ValoresCorrespondência de IntervalosA Expressão 'if let'Loops como ExpressõesRecapitulação - Parser de Comandos Simples4Agrupando Dados com Structs
O que é uma Struct?Visão Geral de StructsAcessando Campos de uma StructStructs MutáveisStructs como Parâmetros de FunçãoTuple StructsRecapitulação - Criando uma Struct Book2Introdução a Vetores
O que é um Vetor?Criando um VetorAdicionando Elementos com pushAcessando Elementos do VetorIterando sobre um VetorIteração MutávelRemovendo ElementosRecapitulação - Rastreador de Pontuação Básico5Pares Chave-Valor com Hash Maps
O que é um Hash Map?Criando um Hash MapInserindo Pares Chave-ValorAcessando ValoresIterando sobre um Hash MapAtualizando um ValorRemovendo um ParRecapitulação - Contador de Palavras8Projeto: Inventário Simples de Itens
Configuração do ProjetoAdicionando um ItemVerificando o EstoqueVendendo um ItemJuntando tudo11Desafios Finais
Revisão - Itens ÚnicosRevisão - Validador de Perfil de UsuárioRevisão - Sumarizador de Notas3Lista de Tarefas via Linha de Comando
Configuração do ProjetoAdicionando uma TarefaVisualizando Todas as TarefasRemovendo uma TarefaCódigo Final