Depois de aprender o algoritmo do tempo geek, comecei a seguir Huahuajiang para retocar as perguntas. Provavelmente desde abril. A partir de hoje (2020-8-24), comece a resumir e revisar os tópicos que foram escovados. Até agora, o Leetcode corrigiu 323 questões.
2020/8/24 conclua a classificação dos tópicos, a próxima etapa é adicionar um hiperlink para cada tópico. Este hiperlink aponta para o blog do csdn tanto quanto possível.
23/10/2020 Completou 12 questões e completou a tabela de hash. O progresso é um pouco lento. A maioria dos problemas não pode ser resolvida à primeira vista, como se você tivesse esquecido tudo o que fez antes. Mas assim que olhei para a resposta, lembrei-me da situação em que eu mesmo estava fazendo a pergunta. continuar.
2020/11/5 Complete a árvore binária, tabela de salto e partes de string. Algum código na árvore binária não foi escrito, apenas olhei para ele. Pular fora do relógio por muito tempo queria escrever à mão. Eu queria revisar a parte da corda há muito tempo.
2020/11/14 completou a parte da imagem. Os exercícios na parte da estrutura de dados são concluídos. Comece os exercícios na parte do algoritmo.
2020/11/30 completou dois pontos.
O algoritmo de escovação de retrocesso 2020/12/18 é relativamente simples, tópicos difíceis precisam pintar um
algoritmo de retrocesso de
2020/12/24 escovando a escovação de programação dinâmica de 2021/1/2. Descobri que ainda há algumas coisas que não consigo entender ao lidar com a programação dinâmica de strings. Este artigo foi atualizado.
Artigo Diretório
1 Princípios de perguntas de escovar
De acordo com as recomendações de Huahuajiang, as seguintes conclusões são tiradas.
Quantas perguntas escovar
1 10-20 para cada tipo, 200-300 perguntas no total
Como escovar as perguntas
1 Escove o mesmo tipo de perguntas
2 Veja o código é muito importante, veja pelo menos 3 a 5 implementações diferentes
3 Primeira passagem: Veja a resposta se você não conseguir pensar nela em 5 minutos; Segunda passagem: tente não ver a resposta totalmente realizada, uma pergunta Não mais do que 60 minutos; na terceira vez: tente alcançá-la rapidamente, basta olhar para a resposta se falhar dentro de 15-20min
4 Código escrito à mão completo para melhorar a memória muscular
5 Cultive o estilo do código
2 Classificando questões de estrutura de dados
De acordo com o princípio de reescrever perguntas, esta é a minha segunda vez que reescrever perguntas. Na verdade, contando as anteriores intermitentes, não é exagero contar três pincéis.
Desta vez, a classificação de tópicos resolverá os tópicos pós-aula no tópico do algoritmo do horário geek anterior e os tópicos eliminados desta vez. Esta parte classifica os tópicos da estrutura de dados.
2.1 Array
2.2 Lista Vinculada
2.3 Pilha
2.4 Fila
Tabela de hash 2,5
Implementar uma tabela de hash com base no método de lista vinculada para resolver o problema de conflito e
implementar um algoritmo de eliminação de cache LRU
2.6 Árvore Binária
Realiza uma árvore de pesquisa binária e oferece suporte a operações de inserção, exclusão e pesquisa.
Realiza a pesquisa pelo sucessor e predecessor de um nó na árvore de pesquisa binária.
Realiza a ordem anterior, intermediária e posterior da árvore binária e atravessa a
Árvore Binária Invertida
Profundidade máxima da árvore binária.
Valide a
soma do caminho da árvore de pesquisa binária
2.7 Heap
Realiza um heap superior pequeno, um heap superior grande ( descrição da estrutura do heap ), fila de prioridade
Realiza a classificação do heap Usar fila de prioridade
Mesclar K matrizes ordenadas
Encontre o K superior máximo de um grupo de conjuntos de dados dinâmicos
2.8 Tabela de salto
A realização da tabela de salto (consulte Xiaohui )
2.9 Diagrama
Realize a matriz de adjacência e os métodos de representação da lista de adjacência de grafos direcionados, grafos não direcionados, grafos ponderados e grafos não ponderados
Realize busca em profundidade e busca em amplitude de grafos
Realize o algoritmo de Dijkstra, algoritmo A *
Realize o algoritmo de Kahn, algoritmo DFS para classificação topológica
2.10 Árvore Trie
- Árvore de teste contendo apenas 26 letras em inglês de a a z
3 Organização de tópicos algorítmicos
3.1 Classificar
1 Classificar : implementar classificação por mesclagem, classificação rápida, classificação por inserção, classificação por bolha, classificação por seleção
2 programação para atingir complexidade de tempo O (n) para encontrar o K-ésimo maior elemento de um conjunto de dados
3 também lembre-se de ter classificação por bucket e classificação por contagem
3.2 Dois pontos
- 35 Pesquisa Inserir Posição
Tópicos semelhantes: 34, 704, 981
tag: upper_bound - 33 Search in Rotated Sorted Array
相似 题目 : 81 、153、154、162、 852
tag: rotated; peek - 69 tag Sqrt (x)
: upper_bound - 74 Pesquisar uma matriz 2D
- 875 Koko Eating Bananas
Título semelhante: tag 1011
: guess ans and check - 4 mediana de duas matrizes classificadas
- 378 K-ésimo menor elemento em uma matriz classificada
Perguntas semelhantes: 668
tag: k-ésimo + matriz Dicotomize os valores na matriz, sinta-se como se estivesse tentando adivinhar e verificar - 719 Encontrar K-th menor distância de par
Título semelhante: 786
tag: k-th + two pointers
3.3 Pesquisa (BFS, DFS) / retrocesso
- 17 combinações de letras de um número de telefone
Perguntas semelhantes: 39 , 40, 77 , 78 , 90 , 216
tag: combinação - 46 Permutações
tópicos semelhantes: 47, 784 , 943 , 996
tag: permutação - 22 Gerar parênteses
Tópicos semelhantes 301
tag: DFS - 37 Sudoku Solver
Tópicos semelhantes: 51 52
tag: DFS - 79 Word Search
tópicos semelhantes: 212
tag: DFS - 127 Word Ladder
Tópicos similares: 126 , 752 , 818
tag: BFS - 542 01 Matrix
tópicos semelhantes: 675 , 934
tag: BFS - 698 Partição para subconjuntos de soma igual de K
Tópicos semelhantes: 93 , 131 , 241 , 282 , 842
tag: permutação
3.4 Hash
3.5 Ganância
3.6 Dividir e conquistar
- 169 Elemento Majoritário
- 153 Encontre o mínimo em
problemas semelhantes de matriz classificada girada 154 - 912 Sort and Array
- 315 Contagem de números menores depois de mim
3.7 Programação dinâmica
- 70 Subindo escadas Tópicos semelhantes: 746 , 1137
- 303 Range Sum Query - Immutable Título semelhante: 1218
- 53 Maximum Subarray Tópicos semelhantes: 121
- 62 Tópicos semelhantes de caminhos exclusivos : 63 , 64 , 120 , 174 , 931, 1210
- 85 Retângulo máximo Tópicos semelhantes: 221 , 304, 1277
- 198 House Robber Tópicos semelhantes: 213 , 309 , 740 , 790 , 801
- Tópicos semelhantes para 279 quadrados perfeitos :
- 139 Quebra de palavras perguntas semelhantes 140 , 818
- Subseqüência crescente de 300 Tópicos semelhantes: 673 , 1048
- E um caminho mínimo (veja um acabamento detalhado @Smallfly Minimum Path Sum)
- Programação para alcançar a menor distância de edição de Levinstein
- Programação para encontrar a subsequência comum mais longa de duas strings
3.8 Correspondência de strings
- 344 String reversa
- 151 Reverter palavras em uma string
- 8 String para Inteiro (atoi)
- km²
- Autômatos
AC - Introdução aos
autômatos AC Os autômatos AC são um kmp de correspondência de padrões múltiplos. O artigo não o leu em detalhes. O código copiado foi executado.