317 soluciones eficientes a los problemas de HackerRank
- 10 días de estadísticas
- 30 días de código
- Algoritmos
- Descifrando la entrevista de codificación
- Estructuras de datos
- Programación general
- Implementación
- Java
- SQL
Las soluciones están codificadas usando Java 8.
Las soluciones SQL están codificadas usando MySQL
10 días de estadísticas
Día | Desafío | Agujas | Solución |
---|
0 | Media, mediana y moda | 30 | Solución.java |
0 | Media ponderada | 30 | Solución.java |
1 | Cuartiles | 30 | Solución.java |
1 | Rango intercuartil | 30 | Solución.java |
1 | Desviación estándar | 30 | Solución.java |
2 | Probabilidad básica | 10 | Solución |
2 | Más dados | 10 | Solución |
2 | Probabilidad de evento compuesto | 10 | Solución |
3 | Probabilidad condicional | 10 | Solución |
3 | Cartas del mismo palo | 10 | Solución |
3 | Dibujar canicas | 10 | Solución |
4 | Distribución Binomial I | 30 | Solución.java |
4 | Distribución Binomial II | 30 | Solución.java |
4 | Distribución Geométrica I | 30 | Solución.java |
4 | Distribución Geométrica II | 30 | Solución.java |
5 | Distribución de Poisson I | 30 | Solución.java |
5 | Distribución de Poisson II | 30 | Solución.java |
5 | Distribución normal I | 30 | Solución.java |
5 | Distribución Normal II | 30 | Solución.java |
6 | El teorema del límite central I | 30 | Solución.java |
6 | El teorema del límite central II | 30 | Solución.java |
6 | El teorema del límite central III | 30 | Solución.java |
7 | Coeficiente de correlación de Pearson I | 30 | Solución.java |
7 | Coeficiente de correlación de rangos de Spearman | 30 | Solución.java |
8 | Línea de regresión de mínimos cuadrados | 30 | Solución.java |
8 | Coeficiente de correlación de Pearson II | 30 | Solución |
9 | Regresión lineal múltiple | 30 | Solución.java |
30 días de código
Día | Desafío | Agujas | Solución |
---|
0 | Hola Mundo | 30 | Solución.java |
1 | Tipos de datos | 30 | Solución.java |
2 | Operadores | 30 | Solución.java |
3 | Introducción a las declaraciones condicionales | 30 | Solución.java |
4 | Clase versus instancia | 30 | Solución.java |
5 | Bucles | 30 | Solución.java |
6 | Repasemos | 30 | Solución.java |
7 | matrices | 30 | Solución.java |
8 | Diccionarios y mapas | 30 | Solución.java |
9 | recursividad | 30 | Solución.java |
10 | Números binarios | 30 | Solución.java |
11 | Matrices 2D | 30 | Solución.java |
12 | Herencia | 30 | Solución.java |
13 | Clases abstractas | 30 | Solución.java |
14 | Alcance | 30 | Solución.java |
15 | Lista enlazada | 30 | Solución.java |
16 | Excepciones: cadena a entero | 30 | Solución.java |
17 | Más excepciones | 30 | Solución.java |
18 | Colas y pilas | 30 | Solución.java |
19 | Interfaces | 30 | Solución.java |
20 | Clasificación | 30 | Solución.java |
21 | Genéricos | 30 | Solución.java |
22 | Árboles de búsqueda binaria | 30 | Solución.java |
23 | Recorrido de orden de nivel BST | 30 | Solución.java |
24 | Más listas enlazadas | 30 | Solución.java |
25 | Tiempo de ejecución y complejidad | 30 | Solución.java |
26 | Lógica anidada | 30 | Solución.java |
27 | Pruebas | 30 | Solución.java |
Algoritmos
Subdominio | Desafío | Agujas | Solución |
---|
Clasificación | Clasificación rápida 1: partición | 10 | Solución.java |
Clasificación | El pastelito de Marc | 15 | Solución.java |
Clasificación | Diferencia absoluta mínima en una matriz | 15 | Solución.java |
Clasificación | Saldo de la suerte | 20 | Solución.java |
Clasificación | Ordenación por inserción - Parte 1 | 30 | Solución.java |
Clasificación | Ordenación por inserción - Parte 2 | 30 | Solución.java |
Clasificación | Corrección y invariante de bucle | 30 | Solución.java |
Clasificación | Tiempo de ejecución de algoritmos | 30 | Solución.java |
Clasificación | Quicksort 2 - Clasificación | 30 | Solución.java |
Clasificación | Contando tipo 1 | 30 | Solución.java |
Clasificación | Contando tipo 2 | 30 | Solución.java |
Clasificación | Contando tipo 3 | 30 | Solución.java |
Clasificación | Introducción a los desafíos del tutorial | 30 | Solución.java |
Clasificación | Clasificación rápida in situ | 35 | Solución.java |
Clasificación | Tiempo de ejecución de Quicksort | 35 | Solución.java |
Clasificación | El tipo de conteo completo | 40 | Solución.java |
Buscar | Heladería | 30 | Solución.java |
Buscar | Células conectadas en una cuadrícula | 50 | Solución.java |
Avaro | Desafío de la red | 20 | Solución.java |
Avaro | Triángulo de perímetro máximo | 20 | Solución.java |
Avaro | Hermosos pares | 30 | Solución.java |
Teoría de grafos | Primera búsqueda en amplitud: alcance más corto | 55 | Solución.java |
Instrumentos de cuerda | Cordaje súper reducido | 10 | Solución.java |
Instrumentos de cuerda | CamelCase | 15 | Solución.java |
Instrumentos de cuerda | Dos personajes | 15 | Solución.java |
Instrumentos de cuerda | Cifrado César | 15 | Solución.java |
Instrumentos de cuerda | Exploración de Marte | 15 | Solución.java |
Instrumentos de cuerda | Cuerdas uniformes ponderadas | 20 | Solución.java |
Instrumentos de cuerda | piedras preciosas | 20 | Solución.java |
Instrumentos de cuerda | Personajes alternos | 20 | Solución.java |
Instrumentos de cuerda | Hermosa cadena binaria | 20 | Solución.java |
Instrumentos de cuerda | El misterio de la carta de amor | 20 | Solución.java |
Instrumentos de cuerda | Construcción de cuerdas | 25 | Solución.java |
Programación dinámica | El problema del cambio de monedas | 60 | Solución.java |
Manipulación de bits | Entero solitario | 20 | Solución.java |
Manipulación de bits | Manipulación de bits: entero solitario | 20 | Solución.java |
Manipulación de bits | Suma frente a XOR | 25 | Solución.java |
Manipulación de bits | Maximizando XOR | 30 | Solución.java |
Manipulación de bits | Sansa y XOR | 30 | Solución.java |
Manipulación de bits | juego de contador | 30 | Solución.java |
Descifrando la entrevista de codificación
Tema | Desafío | Agujas | Solución |
---|
Técnicas / Conceptos | Complejidad del tiempo: primalidad | 15 | Solución.java |
Técnicas / Conceptos | Recursión: números de Fibonacci | 20 | Solución.java |
Técnicas / Conceptos | Recursión: Escalera de Davis | 30 | Solución.java |
Técnicas / Conceptos | DP: cambio de moneda | 30 | Solución.java |
Técnicas / Conceptos | Manipulación de bits: entero solitario | 60 | Solución.java |
Estructuras de datos | Matrices: rotación a la izquierda | 20 | Solución.java |
Estructuras de datos | Cuerdas: hacer anagramas | 25 | Solución.java |
Estructuras de datos | Tablas hash: nota de rescate | 25 | Solución.java |
Estructuras de datos | Listas enlazadas: detectar un ciclo | 25 | Solución.java |
Estructuras de datos | Pilas: soportes equilibrados | 30 | Solución.java |
Estructuras de datos | Colas: una historia de dos pilas | 30 | Solución.java |
Estructuras de datos | Árboles: ¿Es este un árbol de búsqueda binaria? | 30 | Solución.java |
Estructuras de datos | Montones: encuentre la mediana corriente | 50 | Solución.java |
Estructuras de datos | Intentos: Contactos | 50 | Solución.java |
Algoritmos | Clasificación: Clasificación de burbujas | 30 | Solución.java |
Algoritmos | Clasificación: Comparador | 35 | Solución.java |
Algoritmos | Ordenar por fusión: contar inversiones | 35 | Solución.java |
Algoritmos | Búsqueda binaria: heladería | 45 | Solución.java |
Algoritmos | DFS: celda conectada en una red | 45 | Solución.java |
Algoritmos | BFS: alcance más corto en un gráfico | 45 | Solución.java |
Estructuras de datos
Subdominio | Desafío | Agujas | Solución |
---|
matrices | Matrices - DS | 10 | Solución.java |
matrices | Matriz 2D - DS | 15 | Solución.java |
matrices | Matriz dinámica | 15 | Solución.java |
matrices | Rotación izquierda | 20 | Solución.java |
matrices | Matrices dispersas | 25 | Solución.java |
matrices | Aplastamiento algorítmico | 60 | Solución.java |
pilas | Elemento máximo | 20 | Solución.java |
pilas | Soportes equilibrados | 25 | Solución.java |
Árboles | Árbol: recorrido de pedidos anticipados | 10 | Solución.java |
Árboles | Árbol: recorrido en orden | 10 | Solución.java |
Árboles | Árbol: recorrido posterior al pedido | 10 | Solución.java |
Árboles | Árbol: altura de un árbol binario | 10 | Solución.java |
Árboles | Árbol: recorrido de orden de nivel | 20 | Solución.java |
Árboles | Árbol: Decodificación de Huffman | 20 | Solución.java |
Árboles | Árbol de búsqueda binaria: inserción | 20 | Solución.java |
Árboles | Árbol de búsqueda binaria: ancestro común más bajo | 30 | Solución.java |
Árboles | ¿Es este un árbol de búsqueda binario? | 30 | Solución.java |
Árboles | Intercambiar nodos [Algo] | 40 | Solución.java |
Árboles | Árbol del cuadrado diez | 60 | Solución.java |
Lista enlazada | Imprimir los elementos de una lista enlazada | 5 | Solución.java |
Lista enlazada | Insertar un nodo al principio de una lista enlazada | 5 | Solución.java |
Lista enlazada | Insertar un nodo al final de una lista vinculada | 5 | Solución.java |
Lista enlazada | Insertar un nodo en una posición específica en una lista vinculada | 5 | Solución.java |
Lista enlazada | Eliminar un nodo | 5 | Solución.java |
Lista enlazada | Imprimir al revés | 5 | Solución.java |
Lista enlazada | Invertir una lista enlazada | 5 | Solución.java |
Lista enlazada | Comparar dos listas enlazadas | 5 | Solución.java |
Lista enlazada | Fusionar dos listas enlazadas ordenadas | 5 | Solución.java |
Lista enlazada | Obtener valor de nodo | 5 | Solución.java |
Lista enlazada | Eliminar nodos de valores duplicados de una lista enlazada ordenada | 5 | Solución.java |
Lista enlazada | Detección de ciclo | 5 | Solución.java |
Lista enlazada | Encontrar el punto de fusión de dos listas | 5 | Solución.java |
Lista enlazada | Insertar un nodo en una lista doblemente enlazada ordenada | 5 | Solución.java |
Lista enlazada | Invertir una lista doblemente enlazada | 5 | Solución.java |
Intenta | Contactos | 40 | Solución.java |
Colas | Cola usando dos pilas | 30 | Solución.java |
Muchísimo | Encuentra la mediana corriente | 50 | Solución.java |
Opción múltiple | Estructuras de datos MCQ 1 | 5 | Solución |
Opción múltiple | Estructuras de datos MCQ 2 | 5 | Solución |
Opción múltiple | Estructuras de datos MCQ 3 | 5 | Solución |
Programación general
Subdominio | Desafío | Agujas | Solución |
---|
Programación básica | Resuélveme primero | 1 | Solución.java |
Programación básica | Escalera | 10 | Solución.java |
Programación básica | Más Menos | 10 | Solución.java |
Programación básica | diferencia diagonal | 10 | Solución.java |
Programación básica | Una suma muy grande | 10 | Solución.java |
Programación básica | Suma de matriz simple | 10 | Solución.java |
Programación básica | Compara los trillizos | 10 | Solución.java |
Programación básica | Pares de suma divisible | 10 | Solución.java |
Programación básica | Canguro | 10 | Solución.java |
Programación básica | Libro de dibujo | 10 | Solución.java |
Programación básica | Velas De Pastel De Cumpleaños | 10 | Solución.java |
Programación básica | Buen provecho | 10 | Solución.java |
Programación básica | Comerciante de calcetines | 10 | Solución.java |
Programación básica | manzana y naranja | 10 | Solución.java |
Programación básica | Entre dos conjuntos | 10 | Solución.java |
Programación básica | Suma mini-máx. | 10 | Solución.java |
Programación básica | Calificar estudiantes | 10 | Solución.java |
Programación básica | Rompiendo los récords | 10 | Solución.java |
Programación básica | Aves Migratorias | 10 | Solución.java |
Programación básica | chocolate de cumpleaños | 10 | Solución.java |
Programación básica | Conversión de tiempo | 15 | Solución.java |
Programación básica | Multa de biblioteca | 15 | Solución.java |
Programación básica | ¡Salva al prisionero! | 15 | Solución.java |
Programación básica | Saltando sobre las nubes - Revisitado | 15 | Solución.java |
Programación básica | Contando Valles | 15 | Solución.java |
Programación básica | Publicidad viral | 15 | Solución.java |
Programación básica | Hermosos días en el cine | 15 | Solución.java |
Programación básica | Tienda de electrónica | 15 | Solución.java |
Programación básica | gatos y un raton | 15 | Solución.java |
Programación básica | La carrera de obstáculos | 15 | Solución.java |
Programación básica | Árbol utópico | 20 | Solución.java |
Programación básica | Rotación de matriz circular | 20 | Solución.java |
Programación básica | Sherlock y cuadrados | 20 | Solución.java |
Programación básica | profesor enojado | 20 | Solución.java |
Programación básica | Factoriales extra largos | 20 | Solución.java |
Programación básica | Distancias mínimas | 20 | Solución.java |
Programación básica | Saltando sobre las nubes | 20 | Solución.java |
Programación básica | Ecualizar la matriz | 20 | Solución.java |
Programación básica | Visor de PDF de diseñador | 20 | Solución.java |
Programación básica | Cadena repetida | 20 | Solución.java |
Programación básica | Agregar y eliminar | 20 | Solución.java |
Programación básica | Escogiendo números | 20 | Solución.java |
Programación básica | Subiendo en la clasificación | 20 | Solución.java |
Programación básica | Ecuación de secuencia | 20 | Solución.java |
Programación básica | Buscar dígitos | 25 | Solución.java |
Programación básica | cortar los palos | 25 | Solución.java |
Programación básica | Taum y cumpleaños | 25 | Solución.java |
Programación básica | Estaciones espaciales Flatland | 25 | Solución.java |
Programación básica | Raciones justas | 25 | Solución.java |
Programación básica | Manasa y piedras | 30 | Solución.java |
Programación orientada a objetos | Clase versus instancia | 30 | Solución.java |
Programación orientada a objetos | Herencia | 30 | Solución.java |
Programación orientada a objetos | Clases abstractas | 30 | Solución.java |
expresión regular | ¡HackerRank en una cadena! | 20 | Solución.java |
Implementación
Subdominio | Desafío | Agujas | Solución |
---|
Fuerza bruta | Pangramas | 20 | Solución.java |
Fuerza bruta | Cuerdas: hacer anagramas | 25 | Solución.java |
Fuerza bruta | Hacer anagramas | 30 | Solución.java |
Fuerza bruta | Números de Kaprekar modificados | 30 | Solución.java |
Java
Subdominio | Desafío | Agujas | Solución |
---|
Introducción | ¡Bienvenido a Java! | 3 | Solución.java |
Introducción | Java Stdin y Stdout I | 5 | Solución.java |
Introducción | Java si-si no | 10 | Solución.java |
Introducción | Java estándar y salida estándar II | 10 | Solución.java |
Introducción | Formato de salida Java | 10 | Solución.java |
Introducción | Bucles Java I | 10 | Solución.java |
Introducción | Bucles Java II | 10 | Solución.java |
Introducción | Tipos de datos Java | 10 | Solución.java |
Introducción | Java Fin de archivo | 10 | Solución.java |
Introducción | Bloque inicializador estático de Java | 10 | Solución.java |
Introducción | Java int a cadena | 10 | Solución.java |
Introducción | Fecha y hora de Java | 15 | Solución.java |
Introducción | Formateador de moneda Java | 15 | Solución.java |
Instrumentos de cuerda | Introducción a las cadenas de Java | 5 | Solución.java |
Instrumentos de cuerda | Subcadena de Java | 5 | Solución.java |
Instrumentos de cuerda | Comparación de cadenas de Java | 10 | Solución.java |
Instrumentos de cuerda | Cadena de Java inversa | 10 | Solución.java |
Instrumentos de cuerda | Anagramas de Java | 10 | Solución.java |
Instrumentos de cuerda | Fichas de cadena de Java | 15 | Solución.java |
Instrumentos de cuerda | Comprobador de sintaxis de patrones | 20 | Solución.java |
Instrumentos de cuerda | Expresión regular de Java | 25 | Solución.java |
Instrumentos de cuerda | Java Regex 2 - Palabras duplicadas | 25 | Solución.java |
Instrumentos de cuerda | Java Regex 3 - Comprobador de nombre de usuario | 20 | Solución.java |
Instrumentos de cuerda | Extractor de contenido de etiquetas | 20 | Solución.java |
número grande | Java entero grande | 10 | Solución.java |
número grande | Java BigDecimal | 20 | Solución.java |
número grande | Prueba de primalidad de Java | 20 | Solución.java |
Estructuras de datos | Matriz Java 1D | 5 | Solución.java |
Estructuras de datos | Matriz 2D de Java | 10 | Solución.java |
Estructuras de datos | Submatriz de Java | 10 | Solución.java |
Estructuras de datos | Lista de matrices de Java | 10 | Solución.java |
Estructuras de datos | Matriz Java 1D (Parte 2) | 25 | Solución.java |
Estructuras de datos | Lista de Java | 15 | Solución.java |
Estructuras de datos | Mapa de Java | 10 | Solución.java |
Estructuras de datos | Pila de Java | 20 | Solución.java |
Estructuras de datos | Conjunto de hash de Java | 10 | Solución.java |
Estructuras de datos | Genéricos de Java | 15 | Solución.java |
Estructuras de datos | Comparador de Java | 10 | Solución.java |
Estructuras de datos | Ordenar en Java | 10 | Solución.java |
Estructuras de datos | Fuera de cola de Java | 20 | Solución.java |
Estructuras de datos | Conjunto de bits de Java | 20 | Solución.java |
Programación orientada a objetos | Herencia Java I | 5 | Solución.java |
Programación orientada a objetos | Herencia Java II | 10 | Solución.java |
Programación orientada a objetos | Clase abstracta de Java | 10 | Solución.java |
Programación orientada a objetos | Interfaz Java | 10 | Solución.java |
Programación orientada a objetos | Anulación del método Java | 10 | Solución.java |
Programación orientada a objetos | Método Java que anula 2 (súper palabra clave) | 10 | Solución.java |
Programación orientada a objetos | Instancia Java de palabra clave | 10 | Solución.java |
Programación orientada a objetos | Iterador de Java | 15 | Solución.java |
Programación orientada a objetos | Calcular el volumen | 20 | Solución.java |
Manejo de excepciones | Manejo de excepciones de Java (Try-catch) | 10 | Solución.java |
Manejo de excepciones | Manejo de excepciones de Java | 15 | Solución.java |
Avanzado | Java Varargs: suma simple | 15 | Solución.java |
Avanzado | Reflexión de Java: atributos | 15 | Solución.java |
Avanzado | ¿Puedes acceder? | 15 | Solución.java |
Avanzado | Comprobador principal | 25 | Solución.java |
Avanzado | Patrón de fábrica de Java | 15 | Solución.java |
Avanzado | Patrón singleton de Java | 15 | Solución.java |
Avanzado | Patrón de visitante de Java | 40 | Solución.java |
Avanzado | Anotaciones de Java | 25 | Solución.java |
Avanzado | Tipos de retorno covariantes | 20 | Solución.java |
Avanzado | Expresiones Lambda de Java | 30 | Solución.java |
Avanzado | JavaMD5 | 30 | Solución.java |
Avanzado | Java SHA-256 | 30 | Solución.java |
SQL
Subdominio | Desafío | Agujas | Solución |
---|
Selección básica | Revisando la consulta de selección I | 10 | Solución MySQL |
Selección básica | Revisión de la consulta de selección II | 10 | Solución MySQL |
Selección básica | Seleccionar todo | 10 | Solución MySQL |
Selección básica | Seleccionar por ID | 10 | Solución MySQL |
Selección básica | Atributos de las ciudades japonesas | 10 | Solución MySQL |
Selección básica | Nombres de ciudades japonesas | 10 | Solución MySQL |
Selección básica | Estación de observación meteorológica 1 | 15 | Solución MySQL |
Selección básica | Estación de observación meteorológica 3 | 10 | Solución MySQL |
Selección básica | Estación de observación meteorológica 4 | 10 | Solución MySQL |
Selección básica | Estación de observación meteorológica 5 | 30 | Solución MySQL |
Selección básica | Estación de observación meteorológica 6 | 10 | Solución MySQL |
Selección básica | Estación de observación meteorológica 7 | 10 | Solución MySQL |
Selección básica | Estación de observación meteorológica 8 | 15 | Solución MySQL |
Selección básica | Estación de observación meteorológica 9 | 10 | Solución MySQL |
Selección básica | Estación de observación meteorológica 10 | 10 | Solución MySQL |
Selección básica | Estación de observación meteorológica 11 | 15 | Solución MySQL |
Selección básica | Estación de observación meteorológica 12 | 15 | Solución MySQL |
Selección básica | Más de 75 puntos | 15 | Solución MySQL |
Selección básica | Nombres de empleados | 10 | Solución MySQL |
Selección básica | Salarios de los empleados | 10 | Solución MySQL |
Unirse básico | Población asiática | 10 | Solución MySQL |
Unirse básico | Ciudades africanas | 10 | Solución MySQL |
Unirse básico | Población promedio de cada continente | 10 | Solución MySQL |
Unirse básico | El informe | 20 | Solución MySQL |
Agregación | Revisión de agregaciones: la función de conteo | 10 | Solución MySQL |
Agregación | Revisión de agregaciones: la función de suma | 10 | Solución MySQL |
Agregación | Revisión de agregaciones: promedios | 10 | Solución MySQL |
Agregación | Población promedio | 10 | Solución MySQL |
Agregación | Población de Japón | 10 | Solución MySQL |
Agregación | Diferencia de densidad de población | 10 | Solución MySQL |
Agregación | El error | 15 | Solución MySQL |
Agregación | Principales ganadores | 20 | Solución MySQL |
Agregación | Estación de observación meteorológica 2 | 15 | Solución MySQL |
Agregación | Estación de observación meteorológica 13 | 10 | Solución MySQL |
Agregación | Estación de observación meteorológica 14 | 10 | Solución MySQL |
Agregación | Estación de observación meteorológica 15 | 15 | Solución MySQL |
Agregación | Estación de observación meteorológica 16 | 10 | Solución MySQL |
Agregación | Estación de observación meteorológica 17 | 15 | Solución MySQL |
Agregación | Estación de observación meteorológica 18 | 25 | Solución MySQL |
Agregación | Estación de observación meteorológica 19 | 30 | Solución MySQL |