¿Hay algún blog o publicación excelente que publique algún algoritmo interesante, estructura de datos o problemas matemáticos?

Techie Delight es un muy buen recurso para la preparación de entrevistas técnicas, actualmente cuenta con más de 350 artículos de estructura de datos sobre diversos temas como arreglos, programación dinámica, pila, lista vinculada, gráficos, montón, etc. Aquí está la lista completa de problemas publicados hasta ahora –

Formación

Reorganizar la matriz con elementos alternos altos y bajos
Ordenar matriz binaria en tiempo lineal
Ordenar una matriz que contiene 0, 1 y 2 (problema de bandera nacional holandesa)
Encuentra par con suma dada en la matriz
Mezclar un conjunto dado de elementos (barajar Fisher-Yates)
Encontrar el índice de equilibrio de una matriz
Encuentra el elemento mayoritario en una matriz (algoritmo de voto mayoritario de Boyer – Moore)
Mueva todos los ceros presentes en la matriz hasta el final
In situ fusiona dos matrices ordenadas
Fusiona dos matrices satisfaciendo restricciones dadas
Buscar submatriz con suma 0
Encuentra la sub-matriz de longitud máxima que ha dado la suma
Encuentre la submatriz de longitud máxima que tenga el mismo número de 0 y 1
Encuentre el índice de 0 para reemplazar para obtener la secuencia de longitud máxima de los continuos
Encuentra el producto máximo de dos enteros en una matriz
Reemplace cada elemento de la matriz con el producto de cualquier otro elemento sin usar / operator
Encuentra un elemento duplicado en una matriz de rango limitado
Encuentra el subconjunto más grande formado por enteros consecutivos
Encuentra el subarreglo bitónico más largo en una matriz
Encuentre la diferencia máxima entre dos elementos en la matriz satisfaciendo las restricciones dadas
Problema de submatriz máxima (algoritmo de Kadane)
Submatriz circular de suma máxima
Encuentra todas las combinaciones distintas de longitud dada
Encuentra todas las combinaciones distintas de longitud dada con la repetición permitida
Encuentre la secuencia máxima de los 1 continuos formados reemplazando a lo sumo k ceros por unos
Encuentre la submatriz de suma mínima del tamaño dado k
Encuentre una submatriz que haya dado una suma en una matriz dada de enteros
Encuentre la longitud del subarreglo más pequeño cuya suma de elementos es mayor que el número dado
Encuentra el mayor número posible del conjunto de números dados
Encuentre la ventana más pequeña en la ordenación de la matriz que ordenará toda la matriz
Encuentra la ruta de suma máxima que involucra elementos de matrices dadas
Máxima ganancia obtenida comprando y vendiendo acciones varias veces
Atrapar agua de lluvia dentro de un conjunto dado de barras
Subsecuencia creciente más larga
Encuentra la submatriz de productos máxima en una matriz determinada
Encuentra la suma máxima de subsecuencia sin elementos adyacentes
Encuentre las plataformas mínimas necesarias en la estación para evitar cualquier retraso en la llegada de cualquier tren

Fusionar intervalos superpuestos
Problema de selección de actividad
Problema de secuencia de trabajos con plazos
Introducción a las colas de prioridad utilizando montones binarios
Implementación Min Heap y Max Heap en C ++
Heap Sort (implementación fuera de lugar e in situ en C ++ y C)
Compruebe si la matriz dada representa un montón mínimo o no
Convertir Max Heap a Min Heap en tiempo lineal
Encuentra el elemento más grande de Kth en una matriz
Ordenar una matriz ordenada en K
Combinar M listas ordenadas de longitud variable
Encuentra el elemento K’th más pequeño en una matriz
Encuentre el rango más pequeño con al menos un elemento de cada una de las listas dadas
Combinar M ordena listas que contienen N elementos
Ordenación por inserción | Iterativo y recursivo
Selección de selección | Iterativo y recursivo
Tipo de burbuja | Iterativo y recursivo
Ordenar fusión
Ordenación rápida
Implementación iterativa de Quicksort
QuickSort híbrido
Tipo de fusión externa
Ordenación personalizada | Ordenar elementos por su frecuencia e índice
Ordenación personalizada | Ordenar elementos de la matriz por orden de elementos definidos por la segunda matriz
Recuento de inversión de una matriz
Segregar enteros positivos y negativos en tiempo lineal
Búsqueda binaria
Búsqueda ternaria vs búsqueda binaria
Búsqueda de interpolación
Búsqueda exponencial
Encuentra el número de rotaciones en una matriz ordenada circularmente
Buscar un elemento en una matriz ordenada circular
Encuentra la primera o la última aparición de un número dado en una matriz ordenada
Cuenta las apariciones de un número en una matriz ordenada con duplicados
Encuentra el elemento que falta más pequeño de una matriz ordenada
Encuentra el piso y el techo de un número en una matriz ordenada
Buscar en una matriz casi ordenada en tiempo O (logn)
Encuentra el número de 1 en una matriz binaria ordenada
Encuentra el elemento pico en una matriz
Submatriz de suma máxima usando Divide & Conquer
Encuentra el elemento mínimo y máximo en una matriz usando comparaciones mínimas
Multiplicación de cadena matricial
0-1 problema de mochila
Maximizar el valor de la expresión A [s] – A [r] + A [q] – A [p] donde s> r> q> p
Problema de partición
Problema de suma de subconjunto
Problema de partición de suma mínima
Corte de varilla
Problema de cambio de monedas (suministro ilimitado de monedas)
Problema de cambio de moneda: encuentre el número total de formas de obtener la denominación de monedas
La subsecuencia alterna más larga
Combinaciones de palabras formadas reemplazando números dados con alfabetos ingleses correspondientes
Decodifica la secuencia dada para construir un número mínimo sin dígitos repetidos
Todas las combinaciones de elementos que satisfacen las limitaciones dadas.

Retroceso

Imprima todas las posibles soluciones al problema de N Queens
Imprima todas las posibles excursiones de caballero en un tablero de ajedrez
Magnet Puzzle
Encuentra el camino más corto en Laberinto
Encuentre la ruta más larga posible en una matriz
Encuentre la ruta desde el origen hasta el destino en una matriz que satisfaga las restricciones dadas
Encuentra el número total de caminos únicos en un laberinto desde el origen hasta el destino
Imprima todo el Camino Hamiltoniano presente en un gráfico
Imprima todas las configuraciones k-colorables del gráfico (coloración de vértice del gráfico)
Encuentra todas las permutaciones de una cadena dada
Todas las combinaciones de elementos que satisfacen las limitaciones dadas.
Encuentre todas las cadenas binarias que se pueden formar a partir de un patrón comodín dado

Binario

Bit Hacks – Parte 1 (Básico)
Bit Hacks – Parte 2 (Jugar con k’th bit)
Bit Hacks – Parte 3 (Jugar con el bit de número más a la derecha)
Bit Hacks – Parte 4 (Jugar con letras del alfabeto inglés)
Bit Hacks – Parte 5 (Encuentre el valor absoluto de un entero sin ramificación)
Bit Hacks – Parte 6 (Problemas aleatorios)
Algoritmo de Brian Kernighan para contar los bits establecidos en un entero
Calcular la paridad de un número usando la tabla de búsqueda
Cuente los bits establecidos usando la tabla de búsqueda
Encuentre el mínimo o el máximo de dos enteros sin utilizar ramificaciones
Multiplica enteros de 16 bits con un multiplicador de 8 bits
Redondea a la siguiente potencia más alta de 2
Redondea a la potencia anterior de 2
Intercambie bits individuales en una posición dada en un entero
Bits inversos de un entero dado

Genera números binarios entre 1 y N
Implementar eficientemente la función de potencia | Recursiva e iterativa
Encuentre el cuadrado de un número sin usar el operador de multiplicación y división | 3 métodos
Generar conjunto de potencia de un conjunto dado
Codificación Huffman

Árbol binario

Compruebe si dos árboles binarios dados son idénticos o no | Iterativo y recursivo
Calcular la altura de un árbol binario | Iterativo y recursivo
Eliminar árbol binario dado | Iterativo y recursivo
Recorrido del árbol de pedido | Iterativo y recursivo
Preordenar el recorrido del árbol | Iterativo y recursivo
Postorder Tree Traversal | Iterativo y recursivo
Nivel de recorrido transversal del árbol binario
Orden en espiral transversal del árbol binario
Recorrido de orden de nivel inverso del árbol binario
Imprima todos los nodos de un árbol binario dado en un orden específico
Imprimir vista izquierda del árbol binario
Imprimir vista inferior del árbol binario
Imprimir vista superior del árbol binario
Encuentra el siguiente nodo en el mismo nivel para un nodo dado en un árbol binario
Compruebe si el árbol binario dado es árbol binario completo o no
Determine si dos nodos dados son primos el uno del otro
Imprime primos de un nodo dado en un árbol binario
Convertir en lugar árbol binario dado a su árbol de suma
Compruebe si el árbol binario dado es un árbol de suma o no
Combinaciones de palabras formadas reemplazando números dados con alfabetos ingleses correspondientes
Determine si el árbol binario dado es un subárbol de otro árbol binario o no
Encuentra el diámetro de un árbol binario
Compruebe si el árbol binario dado tiene estructura simétrica o no
Convertir árbol binario a su espejo
Compruebe si el árbol binario se puede convertir a otro haciendo un no. de intercambios de niño izquierdo y derecho
Encuentre el antepasado común más bajo (LCA) de dos nodos en un árbol binario
Imprima todas las rutas desde los nodos raíz a hoja en un árbol binario dado
Encuentra antepasados ​​de un nodo dado en un árbol binario
Encuentre la distancia entre pares de nodos dados en un árbol binario
Encuentra suma vertical en un árbol binario dado
Imprimir nodos en orden vertical de un árbol binario dado (recorrido vertical)
Encuentra la suma diagonal del árbol binario dado
Imprimir diagonal transversal del árbol binario
Imprimir nodos de esquina de cada nivel en árbol binario
Conversión in situ convertir árbol binario dado a lista doblemente vinculada
Hundir los nodos que contienen cero en la parte inferior del árbol binario
Convierta el árbol binario dado en árbol completo eliminando medios nodos
Truncar un árbol binario dado para eliminar los nodos que se encuentran en una ruta que tiene una suma menor que K
Encuentra la ruta de suma a raíz de la suma máxima en un árbol binario
Compruebe si el árbol binario dado tiene altura equilibrada o no
Determine si el árbol binario dado es un BST o no

Árbol de búsqueda binaria (BST)

Inserción en BST
Buscar clave dada en BST
Eliminación de BST
Construir BST balanceado a partir de claves dadas
Determine si el árbol binario dado es un BST o no
Compruebe si las claves dadas representan los mismos BST o no sin construir el BST
Encuentre un predecesor de pedido para la clave dada en un BST
Encuentre el antepasado común más bajo (LCA) de dos nodos en un árbol de búsqueda binaria
Encuentra el elemento K’th más pequeño y K’th más grande en BST
Piso y techo en un árbol de búsqueda binaria
Encuentre el costo óptimo para construir un árbol de búsqueda binario

Divide y vencerás

Búsqueda binaria
Búsqueda ternaria vs búsqueda binaria
Búsqueda exponencial
Búsqueda de interpolación
Encuentra el número de rotaciones en una matriz ordenada circularmente
Buscar un elemento en una matriz ordenada circular
Encuentra la primera o la última aparición de un número dado en una matriz ordenada
Cuenta las apariciones de un número en una matriz ordenada con duplicados
Encuentra el elemento que falta más pequeño de una matriz ordenada
Encuentra el piso y el techo de un número en una matriz ordenada
Buscar en una matriz casi ordenada en tiempo O (logn)
Encuentra el número de 1 en una matriz binaria ordenada
Encuentra el elemento pico en una matriz
Submatriz de suma máxima usando Divide & Conquer
Encuentra el elemento mínimo y máximo en una matriz usando comparaciones mínimas
Implementar eficientemente la función de potencia | Recursiva e iterativa

Ordenar fusión
Ordenar por fusión para la lista vinculada individualmente
Recuento de inversión de una matriz
Ordenación rápida
Implementación iterativa de Quicksort
QuickSort híbrido

Programación dinámica

Introducción a la programación dinámica
Subsecuencia común más larga | Introducción y longitud de LCS
Subsecuencia común más larga | Versión optimizada para espacio
Subsecuencia común más larga de secuencias K
Subsecuencia común más larga | Encontrar todos los LCS
El problema de subcadena común más largo
La subsecuencia palindrómica más larga usando programación dinámica
Problema de subsecuencia repetida más larga
Supersecuencia común más corta | Introducción y longitud SCS
Supersecuencia común más corta | Encontrar todos los SCS
Supersecuencia común más corta | Usando LCS
Subsecuencia creciente más larga usando programación dinámica
Subsecuencia bitónica más larga
Subsecuencia creciente con suma máxima
El problema de la distancia de Levenshtein (Editar distancia)
Encuentre el tamaño de la submatriz cuadrada más grande de 1 presente en una matriz binaria dada
Multiplicación de cadena matricial
Encuentre el costo mínimo para llegar a la última celda de la matriz desde su primera celda
Encuentra la secuencia más larga formada por números adyacentes en la matriz
Cuente el número de rutas en una matriz con un costo dado para llegar a la celda de destino
0-1 problema de mochila
Maximizar el valor de la expresión A [s] – A [r] + A [q] – A [p] donde s> r> q> p
Problema de partición
Problema de suma de subconjunto
Problema de partición de suma mínima
Encuentra todas las cadenas binarias de N dígitos sin ningún 1 consecutivo
Corte de varilla
Máximo corte de varilla de producto
Problema de cambio de monedas (suministro ilimitado de monedas)
Problema de cambio de moneda: encuentre el número total de formas de obtener la denominación de monedas
La subsecuencia alterna más larga
Cuente el número de veces que aparece un patrón en una cadena dada como una subsecuencia
Recoge los puntos máximos en una matriz satisfaciendo las restricciones dadas
Cuente el total de combinaciones posibles de números de N dígitos en un teclado móvil
Encuentre el costo óptimo para construir un árbol de búsqueda binario
Word Break Problem
Coincidencia de patrones comodín

Encuentre la probabilidad de que una persona esté viva después de dar N pasos en la isla
Calcular la suma de todos los elementos en una submatriz en tiempo constante
Encontrar la suma máxima de la submatriz K x K en una matriz M x N dada
Encuentra la submatriz de suma máxima presente en una matriz dada
Encuentra la suma máxima de subsecuencia sin elementos adyacentes
Problema de submatriz máxima (algoritmo de Kadane)
Senderos más cortos de una sola fuente: algoritmo Bellman Ford
Caminos más cortos de todos los pares – Algoritmo de Floyd Warshall

Gráficos

Terminología y representaciones de gráficos
Implementación de gráficos usando STL
Implementación de gráficos en C ++ sin usar STL
Breadth First Search (BFS) | Implementación iterativa y recursiva
Profundidad de la primera búsqueda (DFS) | Implementación iterativa y recursiva
Hora de llegada y salida de vértices en DFS
Tipos de aristas involucradas en DFS y relación entre ellas
Gráfica bipartita
Número mínimo de lanzamientos necesarios para ganar el juego de serpiente y escalera
Clasificación topológica en un DAG
Cierre transitivo de un gráfico
Compruebe si un gráfico no dirigido contiene ciclo o no
Número total de rutas en un dígrafo dado desde el origen hasta el destino que tienen exactamente m bordes
Determine si un gráfico no dirigido es un árbol (gráfico conectado acíclico)
Conectividad de 2 bordes en el gráfico
2-Vertex Connectivity en el gráfico
Compruebe si el dígrafo dado es un DAG (Gráfico Acíclico Dirigido) o no
Estructura de datos de conjunto disjunto (Algoritmo de búsqueda de unión)
Problema de Chess Knight: encuentra el camino más corto desde el origen hasta el destino
Verifique si el gráfico dado está fuertemente conectado o no
Verifique si el gráfico dado está fuertemente conectado o no utiliza un recorrido transversal DFS
Algoritmo Union-Find para detección de ciclo en gráfico no dirigido
Algoritmo de Kruskal para encontrar el árbol de expansión mínimo
Senderos más cortos de una sola fuente – Algoritmo de Dijkstra
Senderos más cortos de una sola fuente: algoritmo Bellman Ford
Caminos más cortos de todos los pares – Algoritmo de Floyd Warshall

Imprima todas las configuraciones k-colorables del gráfico (coloración de vértice del gráfico)
Imprima todo el Camino Hamiltoniano presente en un gráfico
Coloración codiciosa del gráfico

Muchísimo

Introducción a las colas de prioridad utilizando montones binarios
Implementación Min Heap y Max Heap en C ++
Heap Sort (implementación fuera de lugar e in situ en C ++ y C)
Compruebe si la matriz dada representa un montón mínimo o no
Convertir Max Heap a Min Heap en tiempo lineal
Encuentra el elemento más grande de Kth en una matriz
Ordenar una matriz ordenada en K
Combinar M listas ordenadas de longitud variable
Encuentra el elemento K’th más pequeño en una matriz
Encuentre el rango más pequeño con al menos un elemento de cada una de las listas dadas
Combinar M ordena listas que contienen N elementos

Tipo de fusión externa
Codificación Huffman
Encuentra las primeras k palabras máximas en un conjunto dado de cadenas
Encuentra los primeros k caracteres no repetidos en una cadena en un solo recorrido

Lista enlazada

Introducción a las listas enlazadas
Implementación de la lista vinculada | Parte 1
Implementación de la lista vinculada | Parte 2
Lista enlazada estática en C
Clonar la lista vinculada
Eliminar lista vinculada
Operación emergente en lista vinculada
Inserte el nodo dado en la posición ordenada correcta en la lista vinculada ordenada dada
Dada una lista vinculada, cámbiela para que esté ordenada
Dividir los nodos de la lista vinculada dada en mitades frontal y posterior
Eliminar duplicados de una lista vinculada ordenada
Mover el nodo frontal de la lista dada al frente de la otra lista
Mover los nodos pares al final de la lista en orden inverso
Dividir la lista vinculada dada en dos listas donde cada lista contiene elementos alternos de ella
Construya una lista vinculada fusionando nodos alternativos de dos listas dadas
Fusionar listas enlazadas ordenadas en una sola
Ordenar por fusión para la lista vinculada individualmente
Intersección de dos listas vinculadas ordenadas dadas
Lista vinculada inversa | Parte 1 (Solución iterativa)
Lista vinculada inversa | Parte 2 (solución recursiva)
Invierta cada grupo de k nodos en una lista vinculada dada
Encuentre el nodo K’th desde el final en una lista vinculada
Combine nodos alternativos de dos listas vinculadas en la primera lista
Combina dos listas vinculadas ordenadas desde su final
Eliminar cada N nodos en una lista vinculada después de omitir M nodos
Reorganizar la lista vinculada de manera específica en tiempo lineal
Compruebe si la lista vinculada es palíndromo o no
Mueve el último nodo al frente en una lista vinculada dada
Reorganizar la lista vinculada de manera específica
Detectar ciclo en una lista vinculada (Algoritmo de detección de ciclo de Floyd)

Matriz

Matriz de impresión en orden espiral
Crear matriz en espiral a partir de una matriz dada
Desplaza todos los elementos de la matriz por 1 en orden espiral
Encuentre la ruta más corta desde el origen hasta el destino en una matriz que satisfaga las restricciones dadas
Cambie todos los elementos de la fila i y la columna j en una matriz a 0 si la celda (i, j) tiene el valor 0
Imprime elementos diagonales de la matriz con pendiente positiva
Encuentre todas las rutas desde la primera celda hasta la última celda de una matriz
Reemplace todas las ocurrencias de 0 que no están rodeadas por 1 en una matriz binaria
En el lugar, gire la matriz 90 grados en sentido horario
Cuente elementos negativos presentes en una matriz ordenada en tiempo lineal
Informe todas las apariciones de un elemento en una matriz ordenada por filas y columnas en tiempo lineal
Calcular la suma de todos los elementos en una submatriz en tiempo constante
Encontrar la suma máxima de la submatriz K x K en una matriz M x N dada
Encuentra la submatriz de suma máxima presente en una matriz dada
Encuentre la probabilidad de que una persona esté viva después de dar N pasos en la isla
Cuenta el número de islas
Algoritmo de relleno de inundación
Encuentre la ruta segura más corta en un campo con sensores presentes
Encuentra todas las ocurrencias de una cadena dada en una matriz de caracteres
Algoritmo de Lee | El camino más corto en un laberinto

Problema de vendedor ambulante usando Branch y Bound
Recoge los puntos máximos en una matriz satisfaciendo las restricciones dadas
Cuente el número de rutas en una matriz con un costo dado para llegar a la celda de destino
Encuentra la secuencia más larga formada por números adyacentes en la matriz
Encuentre el costo mínimo para llegar a la última celda de la matriz desde su primera celda
Multiplicación de cadena matricial
Encuentre el tamaño de la submatriz cuadrada más grande de 1 presente en una matriz binaria dada
Problema de Chess Knight: encuentra el camino más corto desde el origen hasta el destino
Encuentra filas duplicadas en una matriz binaria
Imprima todas las posibles soluciones al problema de N Queens
Imprima todas las posibles excursiones de caballero en un tablero de ajedrez
Encuentra el camino más corto en Laberinto
Encuentre la ruta más larga posible en una matriz

Cola

Problema de Chess Knight: encuentra el camino más corto desde el origen hasta el destino
Algoritmo de Lee | El camino más corto en un laberinto
Encuentre la ruta segura más corta en un campo con sensores presentes
Algoritmo de relleno de inundación
Cuenta el número de islas
Encuentre la ruta más corta desde el origen hasta el destino en una matriz que satisfaga las restricciones dadas
Genera números binarios entre 1 y N
Calcular la altura de un árbol binario | Iterativo y recursivo
Eliminar árbol binario dado | Iterativo y recursivo
Nivel de recorrido transversal del árbol binario
Orden en espiral transversal del árbol binario
Recorrido de orden de nivel inverso del árbol binario
Imprima todos los nodos de un árbol binario dado en un orden específico
Imprimir vista izquierda del árbol binario
Encuentra el siguiente nodo en el mismo nivel para un nodo dado en un árbol binario
Compruebe si el árbol binario dado es árbol binario completo o no
Imprimir diagonal transversal del árbol binario
Imprimir nodos de esquina de cada nivel en árbol binario
Breadth First Search (BFS) | Implementación iterativa y recursiva
Número mínimo de lanzamientos necesarios para ganar el juego de serpiente y escalera
Compruebe si un gráfico no dirigido contiene ciclo o no

Clasificación

Ordenación por inserción | Iterativo y recursivo
Selección de selección | Iterativo y recursivo
Tipo de burbuja | Iterativo y recursivo
Ordenar fusión
Ordenación rápida
Implementación iterativa de Quicksort
QuickSort híbrido
Tipo de fusión externa
Ordenación personalizada | Ordenar elementos por su frecuencia e índice
Ordenación personalizada | Ordenar elementos de la matriz por orden de elementos definidos por la segunda matriz
Recuento de inversión de una matriz
Segregar enteros positivos y negativos en tiempo lineal

Encuentre la ventana más pequeña en la ordenación de la matriz que ordenará toda la matriz
Encuentra el mayor número posible del conjunto de números dados
Mueva todos los ceros presentes en la matriz hasta el final
Ordenar matriz binaria en tiempo lineal
Ordenar por fusión para la lista vinculada individualmente
Agrupe anagramas de una lista de palabras dada
Problema de selección de actividad
Clasificación lexicográfica de un conjunto de claves dado
Heap Sort (implementación fuera de lugar e in situ en C ++ y C)
Combinar M listas ordenadas de longitud variable
Combinar M ordena listas que contienen N elementos
Encuentra todas las permutaciones palindrómicas de una cuerda
Encuentre todas las permutaciones lexicográficamente siguientes de una cadena ordenada en orden ascendente
Combina dos listas vinculadas ordenadas desde su final
Ordenar una matriz que contiene 0, 1 y 2 (problema de bandera nacional holandesa)
Encuentra par con suma dada en la matriz
In situ fusiona dos matrices ordenadas
Fusiona dos matrices satisfaciendo restricciones dadas
Encuentra el producto máximo de dos enteros en una matriz
Encuentra todas las combinaciones distintas de longitud dada
Encuentra todas las combinaciones distintas de longitud dada con la repetición permitida
Fusionar intervalos superpuestos

Apilar

Compruebe si la expresión dada es una expresión equilibrada o no
Encuentra paréntesis duplicados en una expresión
Evaluar la expresión de postfix dada
Decodifica la secuencia dada para construir un número mínimo sin dígitos repetidos

Recorrido del árbol de pedido | Iterativo y recursivo
Preordenar el recorrido del árbol | Iterativo y recursivo
Postorder Tree Traversal | Iterativo y recursivo
Encuentra antepasados ​​de un nodo dado en un árbol binario
Compruebe si dos árboles binarios dados son idénticos o no | Iterativo y recursivo
Invierta el texto dado sin invertir las palabras individuales
Encuentre todas las cadenas binarias que se pueden formar a partir de un patrón comodín dado
Implementación iterativa de Quicksort
Profundidad de la primera búsqueda (DFS) | Implementación iterativa y recursiva

Cuerda

Compruebe si el conjunto de movimientos dado es circular o no
Compruebe si la cadena dada es un palíndromo girado o no
Subcadena palindrómica más larga (solución optimizada para espacio no DP)
Compruebe si la subsecuencia repetida está presente en la cadena o no
Compruebe si las cadenas se pueden derivar entre sí girándolas circularmente
Convierte el número dado en el nombre de columna de Excel correspondiente
Determine si dos cadenas son anagrama o no
Encuentre todas las cadenas binarias que se pueden formar a partir de un patrón comodín dado
Encuentra todos los entrelazados de cadenas dadas
Cuerdas Isomorfas
Encuentra todas las posibles subcadenas palindrómicas en una cadena
Encuentra todas las combinaciones posibles de palabras formadas desde el teclado móvil
Encuentre todas las combinaciones posibles reemplazando los dígitos dados con caracteres de la lista correspondiente
Encuentra todas las palabras de la lista dada que sigue el mismo orden de caracteres que el patrón dado
Encuentra los primeros k caracteres no repetidos en una cadena en un solo recorrido
Agrupe anagramas de una lista de palabras dada
Introducción a la coincidencia de patrones
En el lugar, elimine todas las apariciones de ‘AB’ y ‘C’ de la cadena
Subcadena suma suma palidrómica de longitud más larga
Imprimir cadena en forma de zig-zag en k filas
Invierta el texto dado sin invertir las palabras individuales
Ejecutar algoritmo de compresión de datos de codificación de longitud (RLE)
Validar una dirección IP
Encuentra la subcadena más larga de una cadena dada que contiene k caracteres distintos
Encuentra todas las permutaciones palindrómicas de una cuerda
Encuentra todas las subcadenas de una cadena que son permutación de una cadena determinada
Encuentra la subcadena más larga de una cadena dada que contiene todos los caracteres distintos
Encuentra todas las permutaciones de una cadena dada
Encuentre todas las permutaciones lexicográficamente siguientes de una cadena ordenada en orden ascendente
Encuentre una rotación de cadena mínimamente lexicográfica
Encuentra todas las cadenas de longitud dada que contienen paréntesis equilibrados
Encuentra todos los números binarios de N dígitos con k-bits establecidos donde k varía de 1 a N
Genera números binarios entre 1 y N
Encuentra todas las combinaciones de subcadenas no superpuestas de una cadena
Compruebe si la oración dada es sintácticamente correcta o no
Encuentre todos los números estrictamente crecientes de N dígitos (enfoque ascendente y descendente)

Combinaciones de palabras formadas reemplazando números dados con alfabetos ingleses correspondientes
Word Break Problem
Coincidencia de patrones comodín
Cuente el número de veces que aparece un patrón en una cadena dada como una subsecuencia
El problema de la distancia de Levenshtein (Editar distancia)
Subsecuencia común más larga | Introducción y longitud de LCS
Subsecuencia común más larga | Versión optimizada para espacio
Subsecuencia común más larga de secuencias K
Subsecuencia común más larga | Encontrar todos los LCS
Problema de subsecuencia repetida más larga
La subsecuencia palindrómica más larga usando programación dinámica
El problema de subcadena común más largo
Supersecuencia común más corta | Introducción y longitud SCS
Supersecuencia común más corta | Encontrar todos los SCS
Supersecuencia común más corta | Usando LCS

Trie

Implementación de Trie | Insertar, buscar y eliminar
Implementación Trie eficiente en memoria usando Map | Insertar, buscar y eliminar
Prefijo común más largo en un conjunto dado de cadenas (usando Trie)
Clasificación lexicográfica de un conjunto de claves dado
Encuentra la palabra máxima que ocurre en un conjunto dado de cadenas
Encuentra las primeras k palabras máximas en un conjunto dado de cadenas
Encuentra filas duplicadas en una matriz binaria

Codicioso

Problema de selección de actividad
Codificación Huffman
Problema de la supercuerda más corta
Problema de secuencia de trabajos con plazos
Coloración codiciosa del gráfico

Rompecabezas

Problema del ángulo del reloj – ¿Encontrar? entre la hora y el minutero
Agregue dos números sin usar el operador de suma | 4 métodos
Generar conjunto de potencia de un conjunto dado
Implemente la función de potencia sin usar operadores de multiplicación y división.
Imprima todos los números entre 1 y N sin usar punto y coma
Intercambia dos números sin usar la tercera variable | 5 métodos
Determine la condición if para imprimir resultados específicos
Encuentre el máximo, el mínimo de tres números sin utilizar la instrucción condicional y el operador ternario | 4 métodos
Encuentra números representados como la suma de dos cubos para dos pares diferentes
Imprima “Hello World” con la función main () vacía | 3 métodos
Torre de Hanoi Problema
Imprima todos los números entre 1 y N sin usar ningún bucle | 4 métodos
Imprima un punto y coma sin usar punto y coma en cualquier parte del programa
Multiplica dos números sin usar operadores de multiplicación o bucles
Encuentre el cuadrado de un número sin usar el operador de multiplicación y división | 3 métodos
Magnet Puzzle

Siempre me ha gustado:

http://projecteuler.net/

Tienen muchos problemas variados, que se vuelven cada vez más difíciles a medida que avanzas.