Desafios de programação em Swift

225 desafios que você pode resolver em Swift, dos primeiros laços a grafos, programação dinâmica e machine learning. Escreva seu código no navegador, rode os testes na hora e receba uma revisão por IA.

Fácil · 134 Médio · 67 Difícil · 24

Habilidades que você vai praticar: ContagemExtrair dígitosAritméticaFórmulasLaçosListasListas 2DAcompanhar o máximoCondiçõesDescida de gradienteDividir stringsDivisibilidade
  • Python · C++ · C#
  • Testes automáticos
  • Revisão de código por IA
  • Soluções da comunidade
226
Desafios
123
Soluções compartilhadas
9
Linguagens

Todos os desafios

Busque por tema, linguagem ou dificuldade.

225 desafios
Fácil

Previsão com regressão logística

Classifique exemplos como 0 ou 1 passando uma soma ponderada pela sigmoide e comparando com um limiar.

Você vai aprender Regressão logísticaLimiares
aiaprendizado de máquina
Ainda sem soluções
Médio

Fusões de Byte Pair Encoding (BPE)

Aprenda fusões de subpalavras como os tokenizadores do GPT: funda repetidamente o par de símbolos vizinhos mais frequente.

Você vai aprender BPETokenização em subpalavras
aiaprendizado de máquina
Ainda sem soluções
Médio

Ordem de conclusão de tarefas paralelas

Execute tarefas concorrentemente com no máximo k por vez e informe a ordem em que elas terminam.

Você vai aprender ConcorrênciaFilas de prioridade
SimulationSorting
Ainda sem soluções
Fácil

Codificação one-hot

Transforme categorias em vetores com um único 1, o formato de entrada de classificadores e embeddings.

Você vai aprender Vetores one-hotDados categóricos
aiaprendizado de máquina
Ainda sem soluções
Fácil

Juntar clientes e pedidos

Junte clientes e pedidos como um Join do LINQ e informe o gasto total de cada cliente.

Você vai aprender LINQ JoinAgrupamento
ArraysSorting
Ainda sem soluções
Fácil

Operações em uma lista ligada

Simule uma lista ligada: adicione nas duas pontas, remova do início ou por valor e inverta.

Você vai aprender Listas ligadasSimulação
Data-structuresSimulation
Ainda sem soluções
Fácil

Assinantes de eventos

Entregue eventos aos assinantes de cada tópico, no estilo observer, e conte o que cada pessoa recebe.

Você vai aprender Padrão ObserverDicionários
Padrões de projetoSimulationStrings
Ainda sem soluções
Fácil

Decoradores de preço

Envolva um preço base em decoradores de desconto, imposto, frete e cupom aplicados em ordem.

Você vai aprender Padrão DecoratorPorcentagens
Padrões de projetoSimulationmath
Ainda sem soluções
Fácil

Ordenar por uma chave escolhida

Ordene pessoas por nome ou por idade com um comparador escolhido em tempo de execução, quebrando empates de forma consistente.

Você vai aprender ComparadoresOrdenação
ArraysSorting
Ainda sem soluções
Médio

Pilha com mínimo

Construa uma pilha que informe seu menor elemento instantaneamente após qualquer push ou pop.

Você vai aprender PilhasMínimo acumulado
Data-structuresStacks
Ainda sem soluções
Fácil

Custo das notificações

Envie mensagens por email, SMS e push, com cada canal calculando o próprio custo.

Você vai aprender PolimorfismoDivisão inteira
SimulationStrings
Ainda sem soluções
Fácil

Fachada de checkout

Esconda as verificações de estoque e os totais de preço atrás de uma única chamada de checkout.

Você vai aprender Padrão FacadeValidação
ArraysPadrões de projetoSimulation
Ainda sem soluções
Fácil

Uma configuração compartilhada

Simule um objeto de configurações singleton: cada parte do programa lê e escreve a mesma instância.

Você vai aprender SingletonEstado compartilhado
BeginnerPadrões de projetoSimulation
Ainda sem soluções
Fácil

Tempo total com WhenAll

Descubra quanto tempo um programa leva quando cada grupo de tarefas executa junto com Task.WhenAll e os grupos executam um após o outro.

Você vai aprender Async/awaitTask.WhenAll
ArraysBeginner
Ainda sem soluções
Fácil

Formatar uma fatura

Imprima as linhas de uma fatura e o total, com valores guardados em centavos e exibidos em dólares e centavos.

Você vai aprender Dinheiro em centavosFormatação de strings
BeginnerStrings
Ainda sem soluções
Fácil

Registros únicos

Remova registros duplicados que sejam iguais por valor, mantendo o primeiro de cada na ordem.

Você vai aprender RecordsIgualdade por valor
BeginnerStrings
Ainda sem soluções
Fácil

Regras de uma conta bancária

Proteja o saldo de uma conta com regras de depósito e saque, rejeitando operações inválidas.

Você vai aprender EncapsulamentoRegras de negócio
BeginnerSimulation
Ainda sem soluções
Fácil

Dividir uma lista em blocos

Corte uma lista em grupos consecutivos de tamanho fixo, com um último grupo menor se necessário.

Você vai aprender FatiamentoProcessamento em lotes
ArraysBeginner
Ainda sem soluções