Codificación de Huffman usando cola de prioridad

Requisito previo: algoritmos codiciosos | Conjunto 3 (Codificación de Huffman) , Priority_queue::push() y Priority_queue::pop() en C++ STL  Dada una array de caracteres ch[] y la frecuencia de cada carácter como freq[] . La tarea es encontrar códigos Huffman para cada carácter en ch[] usando Priority Queue . Ejemplo  Entrada: ch[] = { ‘a’, ‘b’, ‘c’, … Continue reading «Codificación de Huffman usando cola de prioridad»

Costo requerido para vaciar una array dada mediante la eliminación repetida del máximo obtenido por operaciones dadas

Dada una array arr[] que consta de N enteros, la tarea es encontrar el costo de eliminar todos los elementos de la array después de realizar las siguientes operaciones en el orden especificado cualquier cantidad de veces: Agregue el elemento máximo presente en la array dada al costo. Elimina el elemento máximo de la array … Continue reading «Costo requerido para vaciar una array dada mediante la eliminación repetida del máximo obtenido por operaciones dadas»

Longitud de la substring más larga sin letras iguales consecutivas

Dada una string str , la tarea es encontrar la longitud de la substring más larga que no tiene ningún par de caracteres idénticos consecutivos. Ejemplos:   Entrada: str = “abcdde”  Salida: 4  “abcd” es la más larga Entrada: str = “ccccdeededff”  Salida: 5  “ededf” es la más larga   Enfoque: Se pueden seguir los siguientes pasos para … Continue reading «Longitud de la substring más larga sin letras iguales consecutivas»

Número máximo de equipos que se pueden formar con determinadas personas

Dados dos números enteros N y M que denotan el número de personas de Tipo1 y Tipo2 respectivamente. La tarea es encontrar el número máximo de equipos que se pueden formar con estos dos tipos de personas. Un equipo puede contener 2 personas de Tipo1 y 1 persona de Tipo2 o 1 persona de Tipo1 … Continue reading «Número máximo de equipos que se pueden formar con determinadas personas»

Saltos mínimos necesarios para agrupar todos los 1 en una string binaria dada

Dada una string binaria S , la tarea es contar el número mínimo de saltos requeridos para agrupar todos los 1 juntos. Ejemplos: Entrada: S = “000010011000100”  Salida: 5  Explicación:  0000 1 0011000100 -> 000000111000100 requiere 2 saltos. 000000111000 1 00 -> 000000111100000 requiere 3 saltos. Por lo tanto, se requieren al menos 5 saltos para agrupar … Continue reading «Saltos mínimos necesarios para agrupar todos los 1 en una string binaria dada»

Longitud de la subsecuencia más larga tal que xor de elementos adyacentes no es decreciente

Dada una secuencia arr de N enteros positivos, la tarea es encontrar la longitud de la subsecuencia más larga tal que xor de enteros adyacentes en la subsecuencia no debe ser decreciente . Ejemplos:  Entrada: N = 8, arr = {1, 100, 3, 64, 0, 5, 2, 15}  Salida: 6  La subsecuencia de longitud máxima … Continue reading «Longitud de la subsecuencia más larga tal que xor de elementos adyacentes no es decreciente»

La string lexicográficamente más grande posible con un máximo de K reemplazos

Dada una string S de longitud N , que consta de alfabetos en minúsculas, la tarea es encontrar la string lexicográficamente más larga que se puede obtener reemplazando como máximo K caracteres de la string dada. Ejemplos: Entrada: S = “dbza”, K = 1  Salida: zbza  Explicación: Reemplace S[0] (= ‘d’) con ‘z’ para obtener … Continue reading «La string lexicográficamente más grande posible con un máximo de K reemplazos»

Cuente los subarreglos que tengan un conteo igual de 0s y 1s segregados

Dada una array binaria arr[] , la tarea es contar el número de subarreglos que tienen el mismo conteo de 0 s y 1 s, y todos los 0 s y 1 s se colocan consecutivamente en ese subarreglo. Ejemplos: Entrada: arr[] = {1, 0, 1, 1} Salida: 2 Explicación: Los subarreglos que satisfacen las … Continue reading «Cuente los subarreglos que tengan un conteo igual de 0s y 1s segregados»

Haga que los elementos máximos en B[] sean iguales a los de A[] sumando/restando números enteros en el rango [0, K]

Dados dos arreglos A[] y B[] y un entero K , la tarea es maximizar el conteo de enteros del arreglo B[] que pueden igualarse con el arreglo A[] sumando o restando cualquier entero en el rango [0 , K] . Ejemplos: Entrada: K=5, A[] = [100, 65, 35, 85, 55], B[] = [30, 60, … Continue reading «Haga que los elementos máximos en B[] sean iguales a los de A[] sumando/restando números enteros en el rango [0, K]»

Comprobar si un número se puede representar como la suma de dos cubos perfectos consecutivos

Dado un número entero N , la tarea es verificar si este número se puede representar como la suma de dos cubos perfectos consecutivos o no. Ejemplos: Entrada: N = 35 Salida: Sí Explicación: Ya que, 35 = 2 3 + 3 3 , por lo tanto, la respuesta requerida es Sí. Entrada: N = … Continue reading «Comprobar si un número se puede representar como la suma de dos cubos perfectos consecutivos»