Código de pelusa
Hasta la fecha (22 de agosto de 2016), hay 289
problemas en LintCode Online Judge. El número de problemas está aumentando últimamente. Aquí está la clasificación de los 289
problemas. Para más problemas y soluciones, puede ver mi repositorio LeetCode-Solutions. Seguiré actualizando para obtener un resumen completo y mejores soluciones. Estén atentos a las actualizaciones.
Algoritmos
- Manipulación de bits
- Formación
- Cadena
- Lista enlazada
- Matemáticas
- Árbol
- Pila
- Cola
- Montón
- Tablas hash
- Estructura de datos
- Clasificar
- recursividad
- Búsqueda binaria
- Búsqueda en amplitud
- Búsqueda en profundidad
- Retroceder
- Árboles de búsqueda binaria
- Programación dinámica
- Avaro
- Diseño orientado a objetos
- Diseño del sistema
Manipulación de bits
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
1 | Problema A+B | C++ | O(1) | O(1) | Medio | | |
82 | Número único | C++ | En) | O(1) | Fácil | LeetCode | |
83 | Número único II | C++ | En) | O(1) | Fácil | LeetCode | |
84 | Número único III | C++ | En) | O(1) | Medio | CTCI | |
142 | O(1) Verificar potencia de 2 | C++ | O(1) | O(1) | Fácil | | |
179 | Actualizar bits | C++ | O(1) | O(1) | Medio | CTCI | |
181 | Voltear bits | C++ | O(1) | O(1) | Fácil | CTCI | |
196 | Encuentra el número que falta | C++ | En) | O(1) | Medio | | |
365 | Cuenta 1 en binario | C++ | O(1) | O(1) | Fácil | CTCI | |
Formación
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
6 | Fusionar matriz ordenada | C++ | O(metro + norte) | O(1) | Fácil | LeetCode | Dos consejos |
8 | Girar cadena | C++ | En) | O(1) | Fácil | LeetCode | |
9 | Zumbido efervescente | C++ | En) | O(1) | Fácil | | |
30 | Insertar intervalo | C++ | En) | O(1) | Fácil | LeetCode, EPI | |
31 | Matriz de partición | C++ | En) | O(1) | Medio | | Dos consejos |
32 | Subcadena de ventana mínima | C++ | En) | O(1) | Medio | LeetCode | |
38 | Buscar una matriz 2D II | C++ | O(metro + norte) | O(1) | Medio | PAI | |
39 | Recuperar matriz ordenada rotada | C++ | En) | O(1) | Fácil | | |
46 | Número mayoritario | C++ | En) | O(1) | Fácil | LeetCode | |
47 | Mayoría Número II | C++ | En) | O(1) | Medio | PAI | |
48 | Mayoría Número III | C++ | En) | De acuerdo) | Medio | PAI | |
49 | Ordenar letras por caso | C++ | En) | O(1) | Medio | | Dos consejos |
50 | Producto de la matriz se excluye | C++ | En) | O(1) | Fácil | | |
51 | Permutación anterior | C++ | En) | O(1) | Medio | | |
52 | Siguiente permutación | C++ | En) | O(1) | Medio | LeetCode | |
57 | 3 suma | C++ | O(n^2) | O(1) | Medio | LeetCode | Dos consejos, ordenar |
58 | 4 suma | C++ | O(n^3) | O(1) | Medio | LeetCode | Picadillo |
59 | 3 suma más cercana | C++ | O(n^2) | O(1) | Medio | LeetCode | Dos consejos, ordenar |
64 | Fusionar matriz ordenada II | C++ | O(metro + norte) | O(1) | Fácil | LeetCode | Dos consejos |
100 | Eliminar duplicados de una matriz ordenada | C++ | En) | O(1) | Fácil | LeetCode | Dos consejos |
101 | Eliminar duplicados de la matriz ordenada II | C++ | En) | O(1) | Fácil | LeetCode | Dos consejos |
133 | Palabras más largas | C++ | En) | En) | Fácil | | |
144 | Intercalando números positivos y negativos | C++ | En) | O(1) | Medio | | Dos consejos |
161 | Girar imagen | C++ | O(n^2) | O(1) | Medio | LeetCode | |
162 | Establecer ceros de matriz | C++ | O(metro * norte) | O(1) | Medio | LeetCode | |
172 | Eliminar elemento | C++ | En) | O(1) | Fácil | LeetCode | Dos consejos |
185 | Recorrido en zigzag de matriz | C++ | O(metro * norte) | O(1) | Fácil | | |
189 | Primer positivo perdido | C++ | En) | O(1) | Fácil | LeetCode, EPI | Picadillo |
190 | Siguiente permutación II | C++ | En) | O(1) | Medio | LeetCode | |
200 | Subcadena palindrómica más larga | C++ | En) | En) | Medio | LeetCode | Manacher's Algorithm |
363 | Atrapando agua de lluvia | C++ | En) | O(1) | Medio | LeetCode | Dos consejos, complicados |
373 | Matriz de partición por pares e impares | C++ | En) | O(1) | Fácil | | Dos consejos |
374 | Matriz espiral | C++ | O(metro * norte) | O(1) | Medio | LeetCode | |
381 | Matriz Espiral II | C++ | O(n^2) | O(1) | Medio | LeetCode | |
382 | Conteo de triángulos | C++ | O(n^2) | O(1) | Medio | | Dos consejos |
383 | Recipiente con más agua | C++ | En) | O(1) | Medio | LeetCode, EPI | Dos consejos |
388 | Secuencia de permutación | C++ | O(n^2) | En) | Medio | LeetCode | |
389 | Sudoku válido | C++ | O(9^2) | O(9) | Fácil | LeetCode | |
404 | Suma de subarreglos II | C++ | O (iniciar sesión) | En) | Duro | | Dos punteros, búsqueda binaria |
405 | Suma de submatriz | C++ | O(m*n^2) | O(m) | Duro | | Picadillo |
406 | Suma de submatriz de tamaño mínimo | C++ | En) | O(1) | Medio | LeetCode | Dos punteros, búsqueda binaria |
539 | Mover ceros | C++ | En) | O(1) | Fácil | LeetCode | Dos consejos |
Cadena
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
13 | strStr | C++ | O(norte + k) | De acuerdo) | Fácil | LeetCode | KMP Algorithm |
53 | Palabras inversas en una cadena | C++ | En) | O(1) | Fácil | LeetCode, EPI | |
54 | Cadena a entero (atoi) | C++ | En) | O(1) | Duro | LeetCode | |
55 | Comparar cadenas | C++ | En) | Jefe) | Fácil | | |
78 | Prefijo común más largo | C++ | En) | O(1) | Medio | | |
157 | Personajes únicos | C++ | En) | O(1) | Fácil | CTCI | |
158 | Dos cuerdas son anagramas | C++ | En) | O(1) | Fácil | | |
171 | Anagramas | C++ | O(n * klogk) | O(m) | Fácil | LeetCode, EPI | |
212 | Reemplazo de espacio | C++ | En) | O(1) | Fácil | | |
407 | Más uno | C++ | En) | O(1) | Fácil | LeetCode | |
408 | Agregar binario | C++ | En) | O(1) | Fácil | LeetCode | |
415 | Palíndromo válido | C++ | En) | O(1) | Fácil | LeetCode | |
417 | Número válido | C++ | En) | O(1) | Duro | LeetCode | Autómatas |
420 | contar y decir | C++ | O(n * 2^n) | O(2^n) | Fácil | LeetCode | |
422 | Longitud de la última palabra | C++ | En) | O(1) | Fácil | LeetCode | |
524 | Almohadilla izquierda | C++ | O(p+n) | O(1) | Fácil | LeetCode | |
Lista enlazada
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
16 | Fusionar dos listas ordenadas | C++ | En) | O(1) | Fácil | LeetCode, EPI | |
35 | Lista enlazada inversa | C++ | En) | O(1) | Fácil | LeetCode, EPI | |
36 | Lista enlazada inversa II | C++ | En) | O(1) | Medio | LeetCode, EPI | |
96 | Lista de particiones | C++ | En) | O(1) | Fácil | LeetCode | |
98 | Ordenar lista | C++ | O (iniciar sesión) | O(iniciar sesión) | Medio | LeetCode, EPI | |
99 | Lista de reorden | C++ | En) | O(1) | Medio | LeetCode | |
102 | Ciclo de lista enlazada | C++ | En) | O(1) | Medio | LeetCode | |
103 | Ciclo de lista enlazada II | C++ | En) | O(1) | Duro | LeetCode | |
104 | Fusionar k listas ordenadas | C++ | O(n * logk) | O(1) | Medio | LeetCode | Amontona, divide y vencerás |
105 | Copiar lista con puntero aleatorio | C++ | En) | O(1) | Medio | LeetCode | |
106 | Convertir lista ordenada en árbol de búsqueda binaria | C++ | En) | O(iniciar sesión) | Medio | LeetCode, EPI | |
112 | Eliminar duplicados de la lista ordenada | C++ | En) | O(1) | Fácil | LeetCode, EPI | |
113 | Eliminar duplicados de la lista ordenada II | C++ | En) | O(1) | Medio | LeetCode, EPI | |
166 | Del enésimo al último nodo de la lista | C++ | En) | O(1) | Fácil | LeetCode | |
167 | Suma de dos listas | C++ | En) | O(1) | Fácil | LeetCode | |
170 | Rotar lista | C++ | En) | O(1) | Medio | LeetCode | |
173 | Lista de clasificación por inserción | C++ | O(n^2) | O(1) | Fácil | LeetCode | |
174 | Eliminar el enésimo nodo del final de la lista | C++ | En) | O(1) | Fácil | LeetCode | |
223 | Lista enlazada de palíndromo | C++ | En) | O(1) | Medio | LeetCode | |
372 | Eliminar nodo en medio de una lista enlazada individualmente | C++ | O(1) | O(1) | Fácil | CTCI | |
380 | Intersección de dos listas enlazadas | C++ | O(metro + norte) | O(1) | Fácil | LeetCode | |
450 | Nodos inversos en el grupo k | C++ | En) | O(1) | Duro | LeetCode | |
451 | Intercambiar nodos en pares | C++ | En) | O(1) | Fácil | LeetCode | |
452 | Eliminar elementos de la lista vinculada | C++ | En) | O(1) | Ingenuo | LeetCode | |
511 | Intercambiar dos nodos en la lista vinculada | C++ | En) | O(1) | Medio | | |
Árbol
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
7 | Serialización de árbol binario | C++ | En) | Oh) | Medio | | |
85 | Insertar nodo en un árbol de búsqueda binaria | C++ | Oh) | O(1) | Fácil | | |
88 | Ancestro común más bajo | C++ | En) | Oh) | Medio | PAI | |
175 | Invertir árbol binario | C++ | En) | Oh) | Fácil | LeetCode | |
442 | Implementar prueba | C++ | En) | O(1) | Medio | LeetCode | intentarlo |
Pila
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
12 | Pila mínima | C++ | En) | O(1) | Medio | LeetCode, EPI | |
40 | Implementar cola por dos pilas | C++ | O(1), amortizado | En) | Medio | PAI | |
66 | Recorrido de pedidos anticipados de árboles binarios | C++ | En) | O(1) | Fácil | LeetCode, EPI | Morris Traversal |
67 | Recorrido en orden del árbol binario | C++ | En) | O(1) | Fácil | LeetCode, EPI | Morris Traversal |
68 | Recorrido de postorden del árbol binario | C++ | En) | O(1) | Fácil | LeetCode, EPI | Morris Traversal |
122 | Rectángulo más grande en histograma | C++ | En) | En) | Duro | LeetCode, EPI | Pila ascendente |
126 | árbol máximo | C++ | En) | En) | Duro | | Pila descendente |
367 | Construcción de árbol de expresión | C++ | En) | En) | Duro | | |
368 | Evaluación de expresiones | C++ | En) | En) | Duro | | |
369 | Convertir expresión a notación polaca | C++ | En) | En) | Duro | | |
370 | Convertir expresión a notación polaca inversa | C++ | En) | En) | Duro | | |
421 | Simplificar ruta | C++ | En) | En) | Medio | LeetCode | |
423 | Paréntesis válidos | C++ | En) | En) | Fácil | LeetCode | |
424 | Evaluar la notación polaca inversa | C++ | En) | En) | Medio | LeetCode | |
473 | Agregar y buscar palabra | C++ | O(mín(n, h)) | O(mín(n, h) | Medio | LeetCode | intentarlo |
510 | Rectángulo máximo | C++ | O(metro * norte) | En) | Duro | LeetCode | Pila ascendente |
528 | Aplanar iterador de lista anidada | C++ | En) | Oh) | Medio | LeetCode | |
Cola
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
362 | Máximo de ventana corrediza | C++ | En) | De acuerdo) | Duro | PAI | Deque, complicado |
Montón
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
4 | Número feo II | C++ | En) | O(1) | Medio | CTCI | BST, montón |
81 | Mediana del flujo de datos | C++ | O (iniciar sesión) | En) | Duro | PAI | BST, montón |
130 | amontonar | C++ | En) | O(1) | Medio | | |
364 | Atrapando agua de lluvia II | C++ | O(m * n * (logm + logn)) | O(metro * norte) | Duro | | BFS, montón, complicado |
518 | Número súper feo | C++ | O(n*k) | O(norte + k) | Medio | LeetCode | BST, montón |
Tablas hash
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
56 | 2 suma | C++ | En) | En) | Medio | LeetCode | |
124 | Secuencia consecutiva más larga | C++ | En) | En) | Medio | LeetCode, EPI | |
128 | Función hash | C++ | En) | O(1) | Fácil | | |
129 | refrito | C++ | En) | En) | Medio | | |
138 | Suma de subarreglo | C++ | En) | En) | Fácil | | |
186 | Puntos máximos en una línea | C++ | O(n^2) | En) | Medio | LeetCode | |
211 | Permutación de cuerdas | C++ | En) | O(1) | Fácil | | |
384 | Subcadena más larga sin caracteres repetidos | C++ | En) | O(1) | Medio | LeetCode, EPI | |
386 | Subcadena más larga con como máximo K caracteres distintos | C++ | En) | En) | Medio | | |
432 | Encuentre el componente débilmente conectado en el gráfico dirigido | C++ | O (iniciar sesión) | En) | Medio | | Unión encontrar |
434 | Número de islas II | C++ | De acuerdo) | De acuerdo) | Duro | | Unión encontrar |
488 | Número feliz | C++ | De acuerdo) | De acuerdo) | Fácil | LeetCode | |
547 | Intersección de dos matrices | C++ | O(metro + norte) | O(mín(m,n)) | Fácil | EPI, LeetCode | Dos punteros, búsqueda binaria |
548 | Intersección de dos matrices II | C++ | O(metro + norte) | O(mín(m,n)) | Fácil | EPI, LeetCode | Dos punteros, búsqueda binaria |
Estructura de datos
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
134 | Caché LRU | C++ | O(1) | De acuerdo) | Duro | LeetCode, EPI | Lista, hash |
Matemáticas
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
2 | Ceros finales | C++ | O(1) | O(1) | Fácil | LeetCode | |
3 | Cuenta de dígitos | C++ | O(1) | O(1) | Medio | CTCI | |
114 | Caminos únicos | C++ | O(mín(m,n)) | O(1) | Fácil | LeetCode, CTCI | PD, Matemáticas |
163 | Árboles de búsqueda binaria únicos | C++ | En) | O(1) | Medio | CTCI | DP, Matemáticas, Catalan Number |
180 | Representación binaria | C++ | O(1) | O(1) | Duro | CTCI | |
197 | Índice de permutación | C++ | O(n^2) | O(1) | Fácil | | |
198 | Índice de permutación II | C++ | O(n^2) | En) | Medio | | |
394 | Monedas en una línea | C++ | O(1) | O(1) | Fácil | | |
411 | Código gris | C++ | O(2^n) | O(1) | Medio | LeetCode | |
413 | Entero inverso | C++ | O(1) | O(1) | Medio | LeetCode | |
414 | dividir dos números enteros | C++ | O(1) | O(1) | Medio | LeetCode | |
418 | Entero a romano | C++ | En) | O(1) | Medio | LeetCode | |
419 | Romano a entero | C++ | En) | O(1) | Medio | LeetCode | |
428 | Potencia(x,n) | C++ | O(1) | O(1) | Medio | LeetCode | |
445 | Similitud del coseno | C ++ pitón | En) | O(1) | Fácil | | |
517 | Número feo | C++ | O(1) | O(1) | Fácil | CTCI, LeetCode | |
Clasificar
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
5 | Kth elemento más grande | C++ | O(n) ~ O(n^2) | O(1) | Medio | PAI | Dos consejos, clasificación rápida |
80 | Mediana | C++ | En) | O(1) | Fácil | PAI | |
139 | Suma de subarreglo más cercana | C++ | O (iniciar sesión) | En) | Medio | | Clasificar |
143 | Ordenar colores II | C++ | En) | O(1) | Medio | | |
148 | Ordenar colores | C++ | En) | O(1) | Medio | LeetCode | |
156 | Fusionar intervalos | C++ | O (iniciar sesión) | O(1) | Fácil | LeetCode, EPI | |
184 | Número más grande | C++ | O (iniciar sesión) | O(1) | Medio | LeetCode | |
366 | Fibonacci | C++ | En) | O(1) | Fácil | | |
379 | Reordenar la matriz para construir el número mínimo | C++ | O (iniciar sesión) | O(1) | Medio | LeetCode | |
387 | La diferencia más pequeña | C++ | O(máx(m, n) * log(mín(m, n))) | O(1) | Medio | | Dos punteros, búsqueda binaria |
399 | Problema de tuercas y tornillos | C++ | O (iniciar sesión) | O(iniciar sesión) | Medio | | Ordenación rápida |
400 | Brecha máxima | C ++ pitón | En) | En) | Duro | LeetCode | Ordenar cubo |
463 | Ordenar números enteros | C++ | O(n^2) | O(1) | Fácil | | Orden por inserción, Orden por selección, Orden por burbuja |
464 | Ordenar números enteros II | C++ | O (iniciar sesión) | En) | Fácil | | Ordenación por combinación, Ordenación en montón, Ordenación rápida |
507 | Orden de movimiento II | C++ | O(n) en promedio | O(1) | Medio | LeetCode | triple partición |
508 | Ordenar por movimiento | C++ | En) | O(1) | Medio | LeetCode | |
recursividad
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
22 | Lista aplanada | C++ | En) | Oh) | Fácil | | |
72 | Construir un árbol binario a partir del recorrido en orden y en orden posterior | C++ | En) | En) | Medio | LeetCode, EPI | |
73 | Construir un árbol binario a partir de un recorrido en orden anticipado y en orden | C++ | En) | En) | Medio | LeetCode, EPI | |
93 | Árbol binario equilibrado | C++ | En) | Oh) | Fácil | LeetCode | |
94 | Suma máxima de ruta del árbol binario | C++ | En) | Oh) | Medio | LeetCode | |
95 | Validar árbol de búsqueda binaria | C++ | En) | Oh) | Medio | LeetCode | |
97 | Profundidad máxima del árbol binario | C++ | En) | Oh) | Fácil | LeetCode | |
131 | Esquema del edificio | C ++ pitón | O (iniciar sesión) | En) | Duro | PAI | Ordenar, BST |
140 | Poder rápido | C++ | O(iniciar sesión) | O(1) | Medio | | |
155 | Profundidad mínima del árbol binario | C++ | En) | Oh) | Fácil | LeetCode | |
164 | Árboles únicos de búsqueda binaria II | C++ | O(n * 4^n / n^(3/2)) | En) | Medio | LeetCode | |
177 | Convierta una matriz ordenada en un árbol de búsqueda binaria con una altura mínima | C++ | En) | O(iniciar sesión) | Fácil | LeetCode | |
201 | Construcción de árbol de segmentos | C++ | En) | Oh) | Medio | | Árbol de segmentos, BST |
202 | Consulta de árbol de segmentos | C++ | Oh) | Oh) | Medio | | Árbol de segmentos, BST |
203 | Modificar árbol de segmentos | C++ | Oh) | Oh) | Medio | | Árbol de segmentos, BST |
205 | Número mínimo de intervalo | C++ | construir árbol: O(n) , consulta: (h) | Oh) | Duro | | Árbol de segmentos, BST |
206 | Suma de intervalo | C++ | construir árbol: O(n) , consulta: O(logn) | En) | Duro | | Árbol de segmentos, BIT |
207 | Suma de intervalos II | C++ | construir árbol: O(n) , consultar: O(logn) , modificar: O(logn) | En) | Duro | | Árbol de segmentos, BIT |
245 | Subárbol | C++ | O(metro * norte) | O(1) | Fácil | | Morris Traversal |
247 | Consulta de árbol de segmentos II | C++ | Oh) | Oh) | Duro | | Árbol de segmentos, BST |
248 | Recuento de números más pequeños | C++ | construir árbol: O(n) , consulta: O(logn) | Oh) | Medio | | Árbol de segmentos, BST |
371 | Imprimir números por recursividad | C++ | En) | En) | Medio | | |
375 | Clonar árbol binario | C++ | En) | Oh) | Fácil | | |
378 | Convertir árbol de búsqueda binaria en lista doblemente enlazada | C++ | En) | Oh) | Medio | | |
439 | Construcción de árbol de segmentos II | C++ | En) | Oh) | Medio | | Árbol de segmentos, BST |
453 | Aplanar árbol binario a lista enlazada | C++ | En) | Oh) | Fácil | LeetCode | |
469 | Árbol binario idéntico | C++ | En) | Oh) | Fácil | | |
532 | Pares inversos | C++ | O (iniciar sesión) | En) | Medio | variante de la cuenta del número menor antes de sí mismo | BIT, combinación de clasificación |
535 | Ladrón de casas III | C++ | En) | Oh) | Medio | LeetCode | |
Búsqueda binaria
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
14 | Primera posición del objetivo | C++ | O(iniciar sesión) | O(1) | Fácil | | |
28 | Buscar una matriz 2D | C++ | O(logm + logn) | O(1) | Fácil | LeetCode | |
60 | Buscar Insertar Posición | C++ | O(iniciar sesión) | O(1) | Fácil | LeetCode | |
61 | Buscar un rango | C++ | O(iniciar sesión) | O(1) | Medio | LeetCode | |
62 | Buscar en matriz ordenada rotada | C++ | O(iniciar sesión) | O(1) | Medio | LeetCode | |
63 | Buscar en matriz ordenada rotada II | C++ | O(iniciar sesión) | O(1) | Medio | LeetCode | |
65 | Mediana de dos matrices ordenadas | C++ | O(log(mín(m, n))) | O(1) | Duro | LeetCode, EPI | Complicado |
74 | Primera mala versión | C++ | O(iniciar sesión) | O(1) | Medio | | |
75 | Encontrar elemento pico | C++ | O(iniciar sesión) | O(1) | Medio | LeetCode | |
76 | Subsecuencia creciente más larga | C++ | O (iniciar sesión) | En) | Medio | CTCI | |
141 | cuadrado(x) | C++ | O(iniciar sesión) | O(1) | Fácil | LeetCode | |
159 | Encontrar el mínimo en una matriz ordenada rotada | C++ | O(iniciar sesión) | O(1) | Medio | LeetCode | |
160 | Encontrar el mínimo en una matriz ordenada rotada II | C++ | O(iniciar sesión) | O(1) | Medio | LeetCode | |
183 | Corte de madera | C++ | O(nlogL) | O(1) | Medio | | |
390 | Encuentra el elemento pico II | C++JavaPython | O(metro + norte) | O(1) | Duro | | |
437 | Copiar libros | C++ | O(nlogp) | O(1) | Duro | UVa 714 | |
Búsqueda en amplitud
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
69 | Recorrido de orden a nivel de árbol binario | C++ | En) | En) | Medio | LeetCode | BFS |
70 | Recorrido de orden de nivel de árbol binario II | C++ | En) | En) | Medio | LeetCode | BFS |
71 | Recorrido de orden de nivel de zigzag de árbol binario | C++ | En) | En) | Medio | LeetCode | BFS |
120 | Escalera de palabras | C++ | O(n*d) | Sobredosis) | Medio | LeetCode | BFS |
121 | Escalera de palabras II | C++ | O(n*d) | Sobredosis) | Duro | LeetCode | BFS, rastreo hacia atrás |
127 | Clasificación topológica | C++ | O(|V|+|E|) | O(|mi|) | Medio | | DFS, BFS |
137 | Clonar gráfico | C++ | O(|V|+|E|) | O(|V|) | Medio | | BFS |
176 | Ruta entre dos nodos en el gráfico | C++ | En) | En) | Medio | | DFS, BFS |
178 | Gráfico de árbol válido | C++ | O(|V| + |E|) | O(|V| + |E|) | Medio | LeetCode | |
431 | Encuentre el componente conectado en el gráfico no dirigido | C++ | En) | En) | Medio | | BFS |
477 | Regiones rodeadas | C++ | O(metro * norte) | O(metro + norte) | Medio | LeetCode | |
Búsqueda en profundidad
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
90 | K suma II | C++ | O(k * C(norte, k)) | De acuerdo) | Medio | | |
376 | Suma de ruta de árbol binario | C++ | En) | Oh) | Fácil | LeetCode | |
433 | Número de islas | C++ | O(metro * norte) | O(metro * norte) | Fácil | LeetCode | DFS |
480 | Caminos de árboles binarios | C++ | O(n * h) | Oh) | Fácil | LeetCode | |
Retroceder
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
15 | Permutaciones | C++ | O(n * n!) | En) | Medio | LeetCode, EPI | |
16 | Permutaciones II | C++ | O(n * n!) | En) | Medio | LeetCode, EPI | |
17 | Subconjuntos | C++ | O(n * 2^n) | O(1) | Medio | LeetCode | |
18 | Subconjuntos II | C++ | O(n * 2^n) | O(1) | Medio | LeetCode | |
33 | N-reinas | C++ | O(n * n!) | En) | Medio | LeetCode, EPI | |
34 | N-Reinas II | C++ | O(n * n!) | En) | Medio | LeetCode, EPI | |
123 | Búsqueda de palabras | C++ | O(m*n*l) | O(l) | Medio | LeetCode | |
132 | Búsqueda de palabras II | C++ | O(m*n*l) | O(l) | Duro | | Trio, DFS |
135 | Suma combinada | C++ | O(k * n^k) | De acuerdo) | Medio | LeetCode | DFS |
136 | Partición palíndromo | C++ | O(2^n) | En) | Fácil | LeetCode, EPI | |
152 | Combinaciones | C++ | O(k * n^k) | De acuerdo) | Medio | LeetCode, EPI | |
153 | Suma combinada II | C++ | O(k * C(norte, k)) | De acuerdo) | Medio | LeetCode | DFS |
425 | Combinaciones de letras de un número de teléfono | C++ | O(n * 4^n) | En) | Medio | LeetCode | |
426 | Restaurar direcciones IP | C++ | O(1) | O(1) | Medio | LeetCode | |
427 | Generar paréntesis | C++ | O(4^n/n^(3/2)) | En) | Medio | LeetCode | |
Árboles de búsqueda binaria
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
11 | Rango de búsqueda en el árbol de búsqueda binaria | C++ | En) | Oh) | Medio | PAI | |
86 | Iterador del árbol de búsqueda binaria | C++ | O(1) | Oh) | Duro | LeetCode | |
87 | Eliminar nodo en el árbol de búsqueda binaria | C++ | Oh) | Oh) | Duro | | |
249 | Recuento de números más pequeños antes de sí mismo | C++ | O (iniciar sesión) | En) | Duro | | BST, BIT, divide y vencerás, fusionar y ordenar |
360 | Mediana de ventana corrediza | C++ | O(nlogw) | Ay) | Duro | | BST, complicado |
391 | Número de aviones en el cielo | C++ | O (iniciar sesión) | En) | Fácil | | BST, montón |
401 | Kth número más pequeño en matriz ordenada | C++ | O(klog(mín(m, n, k))) | O(mín(m, n, k)) | Medio | | BST, montón |
Programación dinámica
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
20 | Suma de dados | C++ | O(n^2) | En) | Duro | | |
29 | Cadena entrelazada | C++ | O(metro * norte) | O(mín(m,n)) | Medio | PAI | |
43 | Subarreglo máximo III | C++ | O(k*n) | O(k*n) | Duro | | |
77 | Subsecuencia común más larga | C++ | O(metro * norte) | O(mín(m,n)) | Medio | | |
79 | Subcadena común más larga | C++ | O(metro * norte) | O(mín(m,n)) | Medio | | |
89 | K suma | C++ | O(k*n*t) | O(n*t) | Duro | | |
91 | Costo mínimo de ajuste | C++ | O(k*n*t) | De acuerdo) | Medio | | |
92 | Mochila | C++ | O(metro * norte) | O(m) | Fácil | | |
107 | ruptura de palabras | C++ | O(n*l^2) | En) | Medio | LeetCode, EPI | |
108 | Partición Palíndromo II | C++ | O(n^2) | En) | Medio | LeetCode, EPI | |
109 | Triángulo | C++ | En) | En) | Fácil | LeetCode, EPI | |
110 | Suma mínima de ruta | C++ | O(metro * norte) | O(mín(m,n)) | Fácil | LeetCode, EPI | |
111 | Subir escaleras | C++ | O(iniciar sesión) | O(1) | Fácil | LeetCode | |
115 | Caminos Únicos II | C++ | O(metro * norte) | O(mín(m,n)) | Fácil | LeetCode, CTCI | PD, Matemáticas |
118 | Subsecuencias distintas | C++ | O(metro * norte) | O(m) | Medio | LeetCode | PD |
119 | Editar distancia | C++ | O(metro * norte) | O(mín(m,n)) | Medio | LeetCode, CTCI | PD |
125 | Mochila II | C++ | O(metro * norte) | O(m) | Medio | | |
149 | El mejor momento para comprar y vender acciones | C++ | En) | O(1) | Medio | LeetCode, EPI | |
150 | Mejor momento para comprar y vender acciones II | C++ | En) | O(1) | Medio | LeetCode, EPI | |
151 | Mejor momento para comprar y vender acciones III | C++ | En) | O(1) | Medio | LeetCode, EPI | |
154 | Coincidencia de expresiones regulares | C++ | O(metro * norte) | O(m) | Duro | LeetCode | DP, recursividad |
168 | globos estallados | C++ | O(n^3) | O(n^2) | Medio | LeetCode | |
191 | Subconjunto máximo de productos | C++ | En) | O(1) | Medio | LeetCode | |
392 | ladrón de casa | C++ | En) | O(1) | Medio | LeetCode | |
393 | Mejor momento para comprar y vender acciones IV | C++ | O(k*n) | De acuerdo) | Duro | LeetCode, EPI | |
395 | Monedas en una línea II | C++ | En) | O(1) | Medio | | |
396 | Monedas en una línea III | C++ | O(n^2) | En) | Duro | | |
397 | Subsecuencia continua creciente más larga | C++ | En) | O(1) | Fácil | | |
398 | Subsecuencia continua creciente más larga II | C++ | O(metro * norte) | O(metro * norte) | Duro | | |
403 | Suma de subarreglos continuos II | C++ | En) | O(1) | Medio | PAI | |
430 | Cadena revuelta | C++ | O(n^4) | O(n^3) | Duro | LeetCode | |
435 | Problema de la oficina de correos | C++ | O(k*n^2) | En) | Duro | PKU 1160 | |
436 | Cuadrado máximo | C++ | O(metro * norte) | En) | Medio | LeetCode | |
512 | Decodificar formas | C++ | En) | O(1) | Medio | LeetCode | |
513 | Cuadrados perfectos | C++ | O(n * raíz cuadrada (n)) | En) | Medio | LeetCode | |
514 | valla de pintura | C++ | En) | O(1) | Fácil | LeetCode | |
515 | pintar casa | C++ | En) | O(1) | Medio | LeetCode | |
516 | Pintar Casa II | C++ | O(n*k) | De acuerdo) | Duro | LeetCode | |
534 | Ladrón de casas II | C++ | En) | O(1) | Medio | LeetCode | |
564 | Mochila VI | C++ | O(n*t) | Antiguo Testamento) | Medio | | |
Avaro
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
41 | Subarreglo máximo | C++ | En) | O(1) | Fácil | LeetCode | |
42 | Subarreglo máximo II | C++ | En) | En) | Medio | | |
44 | Subarreglo mínimo | C++ | En) | O(1) | Fácil | | |
45 | Diferencia máxima de subarreglo | C++ | En) | En) | Medio | | |
116 | Juego de salto | C++ | En) | O(1) | Medio | LeetCode | |
117 | Juego de salto II | C++ | En) | O(1) | Medio | LeetCode | |
182 | Eliminar dígitos | C++ | En) | En) | Medio | | |
187 | Gasolinera | C++ | En) | O(1) | Fácil | LeetCode | |
192 | Coincidencia de comodines | C++ | O(metro + norte) | O(1) | Duro | LeetCode | Codicioso, DP, Recursión |
402 | Suma de subarreglos continuos | C++ | En) | O(1) | Medio | PAI | |
412 | Dulce | C++ | En) | En) | Duro | LeetCode | Avaro |
552 | Crear número máximo | C++ | O(k * (m + n + k)) ~ O(k * (m + n + k^2)) | O(metro + norte + k^2) | Duro | LeetCode | Codicioso, DP |
Diseño orientado a objetos
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
204 | Semifallo | C++ | O(1) | O(1) | Fácil | | |
208 | Sobrecarga del operador de asignación (solo C++) | C++ | En) | O(1) | Medio | | |
496 | Fábrica de juguetes | C++ | O(1) | O(1) | Fácil | | |
497 | Fábrica de formas | C++ | O(1) | O(1) | Fácil | | |
498 | Estacionamiento | C++ | O(n*m*k) | O(n*m*k) | Duro | CTCI | Diseño OO, lenguaje Pimpl, puntero inteligente |
Diseño del sistema
# | Título | Solución | Tiempo | Espacio | Dificultad | Etiqueta | Nota |
---|
501 | Mini Twitter | C++ | O(klogu) | O(t+f) | Medio | | |