Retos de programación en Rust

225 retos que puedes resolver en Rust, desde los primeros bucles hasta grafos, programación dinámica y machine learning. Escribe tu código en el navegador, ejecuta las pruebas al momento y recibe una revisión de IA.

Fácil · 134 Intermedio · 67 Difícil · 24

Habilidades que practicarás: ConteoExtraer dígitosAritméticaBuclesFórmulasListasListas 2DBucles anidadosBucles whileComa flotanteCondicionesDescenso de gradiente
  • Python · C++ · C#
  • Pruebas automáticas
  • Revisión de código por IA
  • Soluciones de la comunidad
226
Desafíos
123
Soluciones compartidas
9
Lenguajes

Todos los desafíos

Busca por tema, lenguaje o dificultad.

225 desafíos
Fácil

Predicción con regresión logística

Clasifica ejemplos como 0 o 1 pasando una suma ponderada por la sigmoide y comparándola con un umbral.

Aprenderás Regresión logísticaUmbrales
aiaprendizaje automático
Aún no hay soluciones
Intermedio

Fusiones de Byte Pair Encoding (BPE)

Aprende fusiones de subpalabras como los tokenizadores de GPT: fusiona repetidamente el par de símbolos vecinos más frecuente.

Aprenderás BPETokenización en subpalabras
aiaprendizaje automático
Aún no hay soluciones
Intermedio

Orden de finalización de tareas paralelas

Ejecuta tareas concurrentemente con como máximo k a la vez e informa el orden en que terminan.

Aprenderás ConcurrenciaColas de prioridad
SimulationSorting
Aún no hay soluciones
Fácil

Codificación one-hot

Convierte categorías en vectores con un único 1, el formato de entrada de clasificadores y embeddings.

Aprenderás Vectores one-hotDatos categóricos
aiaprendizaje automático
Aún no hay soluciones
Fácil

Unir clientes y pedidos

Une los clientes con sus pedidos como un Join de LINQ e informa del gasto total de cada uno.

Aprenderás LINQ JoinAgrupación
ArraysSorting
Aún no hay soluciones
Fácil

Operaciones en una lista enlazada

Simula una lista enlazada: añade en ambos extremos, elimina al principio o por valor, e inviértela.

Aprenderás Listas enlazadasSimulación
Data-structuresSimulation
Aún no hay soluciones
Fácil

Suscriptores de eventos

Entrega eventos a los suscriptores de cada tema, al estilo observer, y cuenta lo que recibe cada persona.

Aprenderás Patrón ObservadorDiccionarios
Patrones de diseñoSimulationStrings
Aún no hay soluciones
Fácil

Decoradores de precio

Envuelve un precio base en decoradores de descuento, impuestos, envío y cupón aplicados en orden.

Aprenderás Patrón DecoradorPorcentajes
Patrones de diseñoSimulationmath
Aún no hay soluciones
Fácil

Ordenar por una clave elegida

Ordena a las personas por nombre o por edad con un comparador elegido en tiempo de ejecución, resolviendo los empates de forma consistente.

Aprenderás ComparadoresOrdenación
ArraysSorting
Aún no hay soluciones
Intermedio

Pila con mínimo

Construye una pila que informe instantáneamente de su elemento más pequeño después de cualquier push o pop.

Aprenderás PilasMínimo acumulado
Data-structuresStacks
Aún no hay soluciones
Fácil

Coste de las notificaciones

Envía mensajes por email, SMS y push, donde cada canal calcula su propio coste.

Aprenderás PolimorfismoDivisión entera
SimulationStrings
Aún no hay soluciones
Fácil

Fachada de pago

Oculta las comprobaciones de stock y los totales de precio detrás de una sola llamada de checkout.

Aprenderás Patrón FachadaValidación
ArraysPatrones de diseñoSimulation
Aún no hay soluciones
Fácil

Una configuración compartida

Simula un objeto de configuración singleton: cada parte del programa lee y escribe la misma instancia.

Aprenderás SingletonEstado compartido
BeginnerPatrones de diseñoSimulation
Aún no hay soluciones
Fácil

Tiempo total con WhenAll

Encuentra cuánto tarda un programa cuando cada grupo de tareas se ejecuta junto con Task.WhenAll y los grupos se ejecutan uno tras otro.

Aprenderás Async/awaitTask.WhenAll
ArraysBeginner
Aún no hay soluciones
Fácil

Dar formato a una factura

Imprime las líneas de una factura y el total, con importes guardados en centavos y mostrados en dólares y centavos.

Aprenderás Dinero en centavosFormato de cadenas
BeginnerStrings
Aún no hay soluciones
Fácil

Registros únicos

Elimina registros duplicados que sean iguales por valor, conservando el primero de cada uno en orden.

Aprenderás RecordsIgualdad por valor
BeginnerStrings
Aún no hay soluciones
Fácil

Reglas de una cuenta bancaria

Protege el saldo de una cuenta con reglas de depósito y retiro, rechazando operaciones inválidas.

Aprenderás EncapsulaciónReglas de negocio
BeginnerSimulation
Aún no hay soluciones
Fácil

Dividir una lista en bloques

Corta una lista en grupos consecutivos de un tamaño fijo, con un último grupo más corto si hace falta.

Aprenderás RebanadoProcesamiento por lotes
ArraysBeginner
Aún no hay soluciones