317 soluções eficientes para problemas do HackerRank
- 10 dias de estatísticas
- 30 dias de código
- Algoritmos
- Quebrando a entrevista de codificação
- Estruturas de dados
- Programação Geral
- Implementação
- Java
- SQL
As soluções são codificadas usando Java 8
Soluções SQL são codificadas usando MySQL
10 dias de estatísticas
Dia | Desafio | Pontos | Solução |
---|
0 | Média, mediana e moda | 30 | Solução.java |
0 | Média Ponderada | 30 | Solução.java |
1 | Quartis | 30 | Solução.java |
1 | Intervalo Interquartil | 30 | Solução.java |
1 | Desvio Padrão | 30 | Solução.java |
2 | Probabilidade Básica | 10 | Solução |
2 | Mais dados | 10 | Solução |
2 | Probabilidade de Evento Composto | 10 | Solução |
3 | Probabilidade Condicional | 10 | Solução |
3 | Cartas do mesmo naipe | 10 | Solução |
3 | Desenhando bolinhas de gude | 10 | Solução |
4 | Distribuição Binomial I | 30 | Solução.java |
4 | Distribuição Binomial II | 30 | Solução.java |
4 | Distribuição Geométrica I | 30 | Solução.java |
4 | Distribuição Geométrica II | 30 | Solução.java |
5 | Distribuição de Poisson I | 30 | Solução.java |
5 | Distribuição de Poisson II | 30 | Solução.java |
5 | Distribuição Normal I | 30 | Solução.java |
5 | Distribuição Normal II | 30 | Solução.java |
6 | O Teorema do Limite Central I | 30 | Solução.java |
6 | O Teorema do Limite Central II | 30 | Solução.java |
6 | O Teorema do Limite Central III | 30 | Solução.java |
7 | Coeficiente de Correlação de Pearson I | 30 | Solução.java |
7 | Coeficiente de correlação de classificação de Spearman | 30 | Solução.java |
8 | Linha de regressão de mínimos quadrados | 30 | Solução.java |
8 | Coeficiente de Correlação de Pearson II | 30 | Solução |
9 | Regressão Linear Múltipla | 30 | Solução.java |
30 dias de código
Dia | Desafio | Pontos | Solução |
---|
0 | Olá, mundo | 30 | Solução.java |
1 | Tipos de dados | 30 | Solução.java |
2 | Operadores | 30 | Solução.java |
3 | Introdução às declarações condicionais | 30 | Solução.java |
4 | Classe vs. Instância | 30 | Solução.java |
5 | Laços | 30 | Solução.java |
6 | Vamos revisar | 30 | Solução.java |
7 | Matrizes | 30 | Solução.java |
8 | Dicionários e mapas | 30 | Solução.java |
9 | Recursão | 30 | Solução.java |
10 | Números Binários | 30 | Solução.java |
11 | Matrizes 2D | 30 | Solução.java |
12 | Herança | 30 | Solução.java |
13 | Aulas abstratas | 30 | Solução.java |
14 | Escopo | 30 | Solução.java |
15 | Lista vinculada | 30 | Solução.java |
16 | Exceções - String para Inteiro | 30 | Solução.java |
17 | Mais exceções | 30 | Solução.java |
18 | Filas e pilhas | 30 | Solução.java |
19 | Interfaces | 30 | Solução.java |
20 | Classificando | 30 | Solução.java |
21 | Genéricos | 30 | Solução.java |
22 | Árvores de pesquisa binária | 30 | Solução.java |
23 | Travessia de ordem de nível BST | 30 | Solução.java |
24 | Mais listas vinculadas | 30 | Solução.java |
25 | Tempo de execução e complexidade | 30 | Solução.java |
26 | Lógica aninhada | 30 | Solução.java |
27 | Teste | 30 | Solução.java |
Algoritmos
Subdomínio | Desafio | Pontos | Solução |
---|
Classificando | Quicksort 1 - Partição | 10 | Solução.java |
Classificando | Calçada do Marc | 15 | Solução.java |
Classificando | Diferença mínima absoluta em uma matriz | 15 | Solução.java |
Classificando | Sorte Equilíbrio | 20 | Solução.java |
Classificando | Classificação por inserção - Parte 1 | 30 | Solução.java |
Classificando | Classificação por inserção - Parte 2 | 30 | Solução.java |
Classificando | Correção e o Loop Invariante | 30 | Solução.java |
Classificando | Tempo de execução de algoritmos | 30 | Solução.java |
Classificando | Quicksort 2 - Classificação | 30 | Solução.java |
Classificando | Contando Tipo 1 | 30 | Solução.java |
Classificando | Contando Tipo 2 | 30 | Solução.java |
Classificando | Contando Tipo 3 | 30 | Solução.java |
Classificando | Introdução aos desafios do tutorial | 30 | Solução.java |
Classificando | Quicksort no local | 35 | Solução.java |
Classificando | Tempo de execução do Quicksort | 35 | Solução.java |
Classificando | A classificação de contagem completa | 40 | Solução.java |
Procurar | Sorveteria | 30 | Solução.java |
Procurar | Células conectadas em uma grade | 50 | Solução.java |
Ambicioso | Desafio da Grade | 20 | Solução.java |
Ambicioso | Triângulo de Perímetro Máximo | 20 | Solução.java |
Ambicioso | Lindos Pares | 30 | Solução.java |
Teoria dos Grafos | Primeira pesquisa ampla - alcance mais curto | 55 | Solução.java |
Cordas | Corda Super Reduzida | 10 | Solução.java |
Cordas | CamelCase | 15 | Solução.java |
Cordas | Dois personagens | 15 | Solução.java |
Cordas | Cifra de César | 15 | Solução.java |
Cordas | Exploração de Marte | 15 | Solução.java |
Cordas | Cordas uniformes ponderadas | 20 | Solução.java |
Cordas | Pedras preciosas | 20 | Solução.java |
Cordas | Personagens alternados | 20 | Solução.java |
Cordas | Linda string binária | 20 | Solução.java |
Cordas | O mistério da carta de amor | 20 | Solução.java |
Cordas | Construção de cordas | 25 | Solução.java |
Programação Dinâmica | O problema da troca de moedas | 60 | Solução.java |
Manipulação de bits | Inteiro Solitário | 20 | Solução.java |
Manipulação de bits | Manipulação de bits: número inteiro solitário | 20 | Solução.java |
Manipulação de bits | Soma versus XOR | 25 | Solução.java |
Manipulação de bits | Maximizando XOR | 30 | Solução.java |
Manipulação de bits | Sansa e XOR | 30 | Solução.java |
Manipulação de bits | Jogo de contador | 30 | Solução.java |
Quebrando a entrevista de codificação
Tópico | Desafio | Pontos | Solução |
---|
Técnicas/Conceitos | Complexidade do Tempo: Primalidade | 15 | Solução.java |
Técnicas/Conceitos | Recursão: Números de Fibonacci | 20 | Solução.java |
Técnicas/Conceitos | Recursão: Escadaria de Davis | 30 | Solução.java |
Técnicas/Conceitos | DP: mudança de moeda | 30 | Solução.java |
Técnicas/Conceitos | Manipulação de bits: número inteiro solitário | 60 | Solução.java |
Estruturas de dados | Matrizes: Rotação Esquerda | 20 | Solução.java |
Estruturas de dados | Strings: Fazendo Anagramas | 25 | Solução.java |
Estruturas de dados | Tabelas de hash: nota de resgate | 25 | Solução.java |
Estruturas de dados | Listas vinculadas: detecte um ciclo | 25 | Solução.java |
Estruturas de dados | Pilhas: colchetes balanceados | 30 | Solução.java |
Estruturas de dados | Filas: uma história de duas pilhas | 30 | Solução.java |
Estruturas de dados | Árvores: esta é uma árvore de pesquisa binária? | 30 | Solução.java |
Estruturas de dados | Heaps: Encontre a mediana em execução | 50 | Solução.java |
Estruturas de dados | Tentativas: Contatos | 50 | Solução.java |
Algoritmos | Classificação: classificação por bolha | 30 | Solução.java |
Algoritmos | Classificação: Comparador | 35 | Solução.java |
Algoritmos | Merge Sort: contando inversões | 35 | Solução.java |
Algoritmos | Pesquisa Binária: Sorveteria | 45 | Solução.java |
Algoritmos | DFS: célula conectada em uma grade | 45 | Solução.java |
Algoritmos | BFS: menor alcance em um gráfico | 45 | Solução.java |
Estruturas de dados
Subdomínio | Desafio | Pontos | Solução |
---|
Matrizes | Matrizes - DS | 10 | Solução.java |
Matrizes | Matriz 2D - DS | 15 | Solução.java |
Matrizes | Matriz Dinâmica | 15 | Solução.java |
Matrizes | Rotação Esquerda | 20 | Solução.java |
Matrizes | Matrizes esparsas | 25 | Solução.java |
Matrizes | Esmagamento Algorítmico | 60 | Solução.java |
Pilhas | Elemento Máximo | 20 | Solução.java |
Pilhas | Colchetes Balanceados | 25 | Solução.java |
Árvores | Árvore: travessia de pré-encomenda | 10 | Solução.java |
Árvores | Árvore: Travessia Inorder | 10 | Solução.java |
Árvores | Árvore: travessia pós-ordem | 10 | Solução.java |
Árvores | Árvore: Altura de uma Árvore Binária | 10 | Solução.java |
Árvores | Árvore: passagem de ordem de nível | 20 | Solução.java |
Árvores | Árvore: Decodificação de Huffman | 20 | Solução.java |
Árvores | Árvore de pesquisa binária: inserção | 20 | Solução.java |
Árvores | Árvore de pesquisa binária: menor ancestral comum | 30 | Solução.java |
Árvores | Esta é uma árvore de pesquisa binária? | 30 | Solução.java |
Árvores | Trocar nós [Algo] | 40 | Solução.java |
Árvores | Árvore quadrada dez | 60 | Solução.java |
Lista vinculada | Imprimir os elementos de uma lista vinculada | 5 | Solução.java |
Lista vinculada | Inserir um nó no topo de uma lista vinculada | 5 | Solução.java |
Lista vinculada | Insira um nó no final de uma lista vinculada | 5 | Solução.java |
Lista vinculada | Inserir um nó em uma posição específica em uma lista vinculada | 5 | Solução.java |
Lista vinculada | Excluir um nó | 5 | Solução.java |
Lista vinculada | Imprimir ao contrário | 5 | Solução.java |
Lista vinculada | Reverter uma lista vinculada | 5 | Solução.java |
Lista vinculada | Compare duas listas vinculadas | 5 | Solução.java |
Lista vinculada | Mesclar duas listas vinculadas classificadas | 5 | Solução.java |
Lista vinculada | Obtenha o valor do nó | 5 | Solução.java |
Lista vinculada | Excluir nós de valor duplicado de uma lista vinculada classificada | 5 | Solução.java |
Lista vinculada | Detecção de Ciclo | 5 | Solução.java |
Lista vinculada | Encontre o ponto de mesclagem de duas listas | 5 | Solução.java |
Lista vinculada | Inserindo um nó em uma lista duplamente vinculada classificada | 5 | Solução.java |
Lista vinculada | Reverter uma lista duplamente vinculada | 5 | Solução.java |
Tenta | Contatos | 40 | Solução.java |
Filas | Fila usando duas pilhas | 30 | Solução.java |
Montes | Encontre a mediana em execução | 50 | Solução.java |
Múltipla escolha | Estruturas de dados MCQ 1 | 5 | Solução |
Múltipla escolha | Estruturas de dados MCQ 2 | 5 | Solução |
Múltipla escolha | Estruturas de dados MCQ 3 | 5 | Solução |
Programação Geral
Subdomínio | Desafio | Pontos | Solução |
---|
Programação Básica | Resolva-me primeiro | 1 | Solução.java |
Programação Básica | Escadaria | 10 | Solução.java |
Programação Básica | Mais Menos | 10 | Solução.java |
Programação Básica | Diferença Diagonal | 10 | Solução.java |
Programação Básica | Uma soma muito grande | 10 | Solução.java |
Programação Básica | Soma de array simples | 10 | Solução.java |
Programação Básica | Compare os trigêmeos | 10 | Solução.java |
Programação Básica | Pares de soma divisível | 10 | Solução.java |
Programação Básica | Canguru | 10 | Solução.java |
Programação Básica | Livro de desenho | 10 | Solução.java |
Programação Básica | Velas para bolo de aniversário | 10 | Solução.java |
Programação Básica | Bom apetite | 10 | Solução.java |
Programação Básica | Comerciante de meias | 10 | Solução.java |
Programação Básica | Maçã e Laranja | 10 | Solução.java |
Programação Básica | Entre dois conjuntos | 10 | Solução.java |
Programação Básica | Soma mini-máxima | 10 | Solução.java |
Programação Básica | Avaliando alunos | 10 | Solução.java |
Programação Básica | Quebrando os recordes | 10 | Solução.java |
Programação Básica | Aves Migratórias | 10 | Solução.java |
Programação Básica | Chocolate de aniversário | 10 | Solução.java |
Programação Básica | Conversão de tempo | 15 | Solução.java |
Programação Básica | Biblioteca bem | 15 | Solução.java |
Programação Básica | Salve o Prisioneiro! | 15 | Solução.java |
Programação Básica | Pulando nas Nuvens – Revisitado | 15 | Solução.java |
Programação Básica | Contando Vales | 15 | Solução.java |
Programação Básica | Publicidade viral | 15 | Solução.java |
Programação Básica | Lindos dias no cinema | 15 | Solução.java |
Programação Básica | Loja de eletrônicos | 15 | Solução.java |
Programação Básica | Gatos e um rato | 15 | Solução.java |
Programação Básica | A corrida de obstáculos | 15 | Solução.java |
Programação Básica | Árvore Utópica | 20 | Solução.java |
Programação Básica | Rotação de matriz circular | 20 | Solução.java |
Programação Básica | Sherlock e quadrados | 20 | Solução.java |
Programação Básica | Professor irritado | 20 | Solução.java |
Programação Básica | Fatoriais Extra Longos | 20 | Solução.java |
Programação Básica | Distâncias Mínimas | 20 | Solução.java |
Programação Básica | Pulando nas nuvens | 20 | Solução.java |
Programação Básica | Equalizar a matriz | 20 | Solução.java |
Programação Básica | Visualizador de PDF do designer | 20 | Solução.java |
Programação Básica | String repetida | 20 | Solução.java |
Programação Básica | Anexar e excluir | 20 | Solução.java |
Programação Básica | Escolhendo Números | 20 | Solução.java |
Programação Básica | Subindo na tabela de classificação | 20 | Solução.java |
Programação Básica | Equação de Sequência | 20 | Solução.java |
Programação Básica | Encontre dígitos | 25 | Solução.java |
Programação Básica | Corte os palitos | 25 | Solução.java |
Programação Básica | Taum e aniversário | 25 | Solução.java |
Programação Básica | Estações Espaciais Flatland | 25 | Solução.java |
Programação Básica | Rações Justas | 25 | Solução.java |
Programação Básica | Manasa e Pedras | 30 | Solução.java |
Programação Orientada a Objetos | Classe vs. Instância | 30 | Solução.java |
Programação Orientada a Objetos | Herança | 30 | Solução.java |
Programação Orientada a Objetos | Aulas abstratas | 30 | Solução.java |
RegEx | HackerRank em uma string! | 20 | Solução.java |
Implementação
Subdomínio | Desafio | Pontos | Solução |
---|
Força Bruta | Pangramas | 20 | Solução.java |
Força Bruta | Strings: Fazendo Anagramas | 25 | Solução.java |
Força Bruta | Fazendo Anagramas | 30 | Solução.java |
Força Bruta | Números Kaprekar Modificados | 30 | Solução.java |
Java
Subdomínio | Desafio | Pontos | Solução |
---|
Introdução | Bem-vindo ao Java! | 3 | Solução.java |
Introdução | Java Stdin e Stdout I | 5 | Solução.java |
Introdução | Java If-Else | 10 | Solução.java |
Introdução | Java Stdin e Stdout II | 10 | Solução.java |
Introdução | Formatação de saída Java | 10 | Solução.java |
Introdução | Loops Java I | 10 | Solução.java |
Introdução | Laços Java II | 10 | Solução.java |
Introdução | Tipos de dados Java | 10 | Solução.java |
Introdução | Fim do arquivo Java | 10 | Solução.java |
Introdução | Bloco inicializador estático Java | 10 | Solução.java |
Introdução | Java Int para String | 10 | Solução.java |
Introdução | Data e hora Java | 15 | Solução.java |
Introdução | Formatador de moeda Java | 15 | Solução.java |
Cordas | Introdução às strings Java | 5 | Solução.java |
Cordas | Substring Java | 5 | Solução.java |
Cordas | Comparação de strings Java | 10 | Solução.java |
Cordas | String Java reversa | 10 | Solução.java |
Cordas | Anagramas Java | 10 | Solução.java |
Cordas | Tokens de string Java | 15 | Solução.java |
Cordas | Verificador de sintaxe de padrão | 20 | Solução.java |
Cordas | Regex Java | 25 | Solução.java |
Cordas | Java Regex 2 - Palavras duplicadas | 25 | Solução.java |
Cordas | Java Regex 3 - Verificador de nome de usuário | 20 | Solução.java |
Cordas | Extrator de conteúdo de tags | 20 | Solução.java |
Grande número | Java BigInteger | 10 | Solução.java |
Grande número | Java BigDecimal | 20 | Solução.java |
Grande número | Teste de Primalidade Java | 20 | Solução.java |
Estruturas de dados | Matriz Java 1D | 5 | Solução.java |
Estruturas de dados | Matriz Java 2D | 10 | Solução.java |
Estruturas de dados | Submatriz Java | 10 | Solução.java |
Estruturas de dados | Lista de matrizes Java | 10 | Solução.java |
Estruturas de dados | Matriz Java 1D (Parte 2) | 25 | Solução.java |
Estruturas de dados | Lista Java | 15 | Solução.java |
Estruturas de dados | Mapa Java | 10 | Solução.java |
Estruturas de dados | Pilha Java | 20 | Solução.java |
Estruturas de dados | Conjunto de hash Java | 10 | Solução.java |
Estruturas de dados | Genéricos Java | 15 | Solução.java |
Estruturas de dados | Comparador Java | 10 | Solução.java |
Estruturas de dados | Classificação Java | 10 | Solução.java |
Estruturas de dados | Java Dequeue | 20 | Solução.java |
Estruturas de dados | Conjunto de bits Java | 20 | Solução.java |
Programação Orientada a Objetos | Herança Java I | 5 | Solução.java |
Programação Orientada a Objetos | Herança Java II | 10 | Solução.java |
Programação Orientada a Objetos | Classe abstrata Java | 10 | Solução.java |
Programação Orientada a Objetos | Interface Java | 10 | Solução.java |
Programação Orientada a Objetos | Substituição de método Java | 10 | Solução.java |
Programação Orientada a Objetos | Substituição do método Java 2 (super palavra-chave) | 10 | Solução.java |
Programação Orientada a Objetos | Palavra-chave Java Instanceof | 10 | Solução.java |
Programação Orientada a Objetos | Iterador Java | 15 | Solução.java |
Programação Orientada a Objetos | Calculando o volume | 20 | Solução.java |
Tratamento de exceções | Tratamento de exceções Java (Try-catch) | 10 | Solução.java |
Tratamento de exceções | Tratamento de exceções Java | 15 | Solução.java |
Avançado | Java Varargs - adição simples | 15 | Solução.java |
Avançado | Reflexão Java - Atributos | 15 | Solução.java |
Avançado | Você pode acessar | 15 | Solução.java |
Avançado | Verificador principal | 25 | Solução.java |
Avançado | Padrão de fábrica Java | 15 | Solução.java |
Avançado | Padrão Java Singleton | 15 | Solução.java |
Avançado | Padrão de visitante Java | 40 | Solução.java |
Avançado | Anotações Java | 25 | Solução.java |
Avançado | Tipos de retorno covariante | 20 | Solução.java |
Avançado | Expressões Java Lambda | 30 | Solução.java |
Avançado | JavaMD5 | 30 | Solução.java |
Avançado | Java SHA-256 | 30 | Solução.java |
SQL
Subdomínio | Desafio | Pontos | Solução |
---|
Seleção Básica | Revisando a Consulta Selecionada I | 10 | Solução MySQL |
Seleção Básica | Revisando a Consulta Selecionada II | 10 | Solução MySQL |
Seleção Básica | Selecionar tudo | 10 | Solução MySQL |
Seleção Básica | Selecione por ID | 10 | Solução MySQL |
Seleção Básica | Atributos das cidades japonesas | 10 | Solução MySQL |
Seleção Básica | Nomes das cidades japonesas | 10 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 1 | 15 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 3 | 10 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 4 | 10 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 5 | 30 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 6 | 10 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 7 | 10 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 8 | 15 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 9 | 10 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 10 | 10 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 11 | 15 | Solução MySQL |
Seleção Básica | Estação de Observação Meteorológica 12 | 15 | Solução MySQL |
Seleção Básica | Superior a 75 marcas | 15 | Solução MySQL |
Seleção Básica | Nomes de funcionários | 10 | Solução MySQL |
Seleção Básica | Salários dos funcionários | 10 | Solução MySQL |
Junção Básica | População Asiática | 10 | Solução MySQL |
Junção Básica | Cidades Africanas | 10 | Solução MySQL |
Junção Básica | População Média de Cada Continente | 10 | Solução MySQL |
Junção Básica | O Relatório | 20 | Solução MySQL |
Agregação | Revisando agregações – A função de contagem | 10 | Solução MySQL |
Agregação | Revisando agregações – A função de soma | 10 | Solução MySQL |
Agregação | Revisão de agregações - médias | 10 | Solução MySQL |
Agregação | População Média | 10 | Solução MySQL |
Agregação | População do Japão | 10 | Solução MySQL |
Agregação | Diferença de densidade populacional | 10 | Solução MySQL |
Agregação | O erro | 15 | Solução MySQL |
Agregação | Principais ganhadores | 20 | Solução MySQL |
Agregação | Estação de Observação Meteorológica 2 | 15 | Solução MySQL |
Agregação | Estação de Observação Meteorológica 13 | 10 | Solução MySQL |
Agregação | Estação de Observação Meteorológica 14 | 10 | Solução MySQL |
Agregação | Estação de Observação Meteorológica 15 | 15 | Solução MySQL |
Agregação | Estação de Observação Meteorológica 16 | 10 | Solução MySQL |
Agregação | Estação de Observação Meteorológica 17 | 15 | Solução MySQL |
Agregação | Estação de Observação Meteorológica 18 | 25 | Solução MySQL |
Agregação | Estação de Observação Meteorológica 19 | 30 | Solução MySQL |