0-1 BFS (ruta más corta en un gráfico de peso binario)

Dado un gráfico donde cada borde tiene peso como 0 o 1. También se proporciona un vértice fuente en el gráfico. Encuentre la ruta más corta desde el vértice de origen hasta todos los demás vértices. Ejemplo:   Input : Source Vertex = 0 and below graph Output : Shortest distances from given source 0 0 1 … Continue reading «0-1 BFS (ruta más corta en un gráfico de peso binario)»

Substring de longitud K que tiene la frecuencia máxima en la string dada

Dada una string str , la tarea es encontrar la substring de longitud K que ocurre la mayor cantidad de veces. Si aparece más de una string el número máximo de veces, imprima la substring lexicográficamente más pequeña. Ejemplos: Entrada: str = “bbbbbaaaaabbabababa”, K = 5 Salida: ababa Explicación: Las substrings de longitud 5 de … Continue reading «Substring de longitud K que tiene la frecuencia máxima en la string dada»

Implementación de Deque usando lista doblemente enlazada

Deque o Double Ended Queue es una versión generalizada de la estructura de datos de Queue que permite insertar y eliminar en ambos extremos. En una publicación anterior , se discutió la implementación de Deque usando una array circular. Ahora, en esta publicación, vemos cómo implementamos Deque usando la lista doblemente enlazada .   Operaciones … Continue reading «Implementación de Deque usando lista doblemente enlazada»

Genere una secuencia bitónica de longitud N a partir de números enteros en un rango dado

Dados los números enteros N , L y R , la tarea es generar una secuencia bitónica de longitud N a partir de los números enteros en el rango [L, R] tal que el primer elemento sea el máximo. Si no es posible crear tal secuencia, imprima «-1» . Una secuencia bitónica es una secuencia … Continue reading «Genere una secuencia bitónica de longitud N a partir de números enteros en un rango dado»

¿Cómo obtener los primeros y últimos elementos de Deque en Python?

Deque es una cola de doble terminación que se implementa mediante el módulo de colecciones en Python. Veamos cómo podemos obtener el primer y el último valor en un Deque. Método 1: Acceder a los elementos por su índice.  La estructura de datos deque del módulo de colecciones no tiene un método de observación, pero … Continue reading «¿Cómo obtener los primeros y últimos elementos de Deque en Python?»

Reduzca la array dada de [1, N] girando hacia la izquierda o hacia la derecha según las condiciones dadas

Dada una array ordenada arr[] de los primeros N números naturales y un entero X , la tarea es imprimir el último elemento restante después de realizar las siguientes operaciones (N – 1) veces: Si el valor de X es 1 , gire a la derecha la array en 1 unidad y elimine el último … Continue reading «Reduzca la array dada de [1, N] girando hacia la izquierda o hacia la derecha según las condiciones dadas»

Número mínimo que se puede obtener aplicando las operaciones ‘+’ y ‘*’ en los elementos de la array

Dada una array arr[] que consta de N enteros positivos y una string S de longitud (N – 1) , que contiene los caracteres ‘+’ y ‘*’ , la tarea es encontrar el número más pequeño que se puede obtener después de aplicar las operaciones aritméticas mencionado en la string S en los elementos de … Continue reading «Número mínimo que se puede obtener aplicando las operaciones ‘+’ y ‘*’ en los elementos de la array»

Deque en Python

Deque (Doubly Ended Queue) en Python se implementa usando el módulo » colecciones «. Deque es preferible a una lista en los casos en los que necesitamos operaciones de adición y extracción más rápidas desde ambos extremos del contenedor, ya que deque proporciona una complejidad de tiempo O(1) para las operaciones de adición y extracción … Continue reading «Deque en Python»

Separe los Nodes pares e impares en una lista enlazada usando Deque

Dada una lista enlazada de enteros. La tarea es escribir un programa para modificar la lista enlazada de modo que todos los números pares aparezcan antes que todos los números impares en la lista enlazada modificada. No es necesario mantener el orden de los Nodes pares e impares igual que en la lista original, la … Continue reading «Separe los Nodes pares e impares en una lista enlazada usando Deque»

Generar una lista vinculada que consta de la diferencia máxima de cuadrados de pares de Nodes de una lista vinculada dada

Dada una lista enlazada de un número par de Nodes, la tarea es generar una nueva lista enlazada que contenga la diferencia máxima de cuadrados de valores de Nodes en orden decreciente al incluir cada Node en un solo par. Ejemplos: Entrada: 1 -> 6 -> 4 -> 3 -> 5 ->2 Salida: 35 -> … Continue reading «Generar una lista vinculada que consta de la diferencia máxima de cuadrados de pares de Nodes de una lista vinculada dada»