Strings de una array que no son prefijos de ninguna otra string

Dada una array arr[] de strings, la tarea es imprimir las strings de la array que no son prefijos de ninguna otra string de la misma array. Ejemplos:   Entrada: arr[] = {“apple”, “app”, “there”, “the”, “like”}  Salida:  apple  like  there  Aquí “app” es un prefijo de “apple”  Por lo tanto, no se imprime y  “the” … Continue reading «Strings de una array que no son prefijos de ninguna otra string»

Suma de K elementos más grandes en BST usando O(1) Espacio extra

Dado un BST, la tarea es encontrar la suma de todos los elementos mayores o iguales al K-ésimo elemento más grande en el espacio O(1). Ejemplos:  Input : K = 3 8 / \ 7 10 / / \ 2 9 13 Output : 32 Explanation: 3rd largest element is 9 so sum of all … Continue reading «Suma de K elementos más grandes en BST usando O(1) Espacio extra»

Consultas para encontrar la distancia entre dos Nodes de un árbol binario: método O (logn)

Dado un árbol binario, la tarea es encontrar la distancia entre dos claves en un árbol binario, no se dan punteros principales. La distancia entre dos Nodes es el número mínimo de aristas que se deben atravesar para llegar a un Node desde otro. Este problema ya se discutió en una publicación anterior, pero utiliza tres … Continue reading «Consultas para encontrar la distancia entre dos Nodes de un árbol binario: método O (logn)»

Consultas para verificar si los vértices X e Y están en el mismo Componente Conectado de un Gráfico No Dirigido

Dado un grafo no dirigido que consta de N vértices y M aristas y consultas Q[][] del tipo {X, Y} , la tarea es comprobar si los vértices X e Y están en la misma componente conexa del Gráfico. Ejemplos: Entrada: Q[][] = {{1, 5}, {3, 2}, {5, 2}}  Gráfico:   1-3-4 2 | 5 Salida: … Continue reading «Consultas para verificar si los vértices X e Y están en el mismo Componente Conectado de un Gráfico No Dirigido»

Recorrido iterativo de orden previo de un árbol N-ario

Dado un árbol K-ario. La tarea es escribir un programa iterativo para realizar el recorrido en orden previo del árbol n-ario dado. Ejemplos:   Input: 3-Array Tree 1 / | \ / | \ 2 3 4 / \ / | \ 5 6 7 8 9 / / | \ 10 11 12 13 Output: … Continue reading «Recorrido iterativo de orden previo de un árbol N-ario»

Cambios mínimos requeridos para hacer dos arreglos idénticos

Dadas dos arrays,  y  con n elementos cada una. La tarea es hacer que estas dos arrays sean idénticas, es decir, para cada una  , queremos hacer  . En una sola operación, puede elegir dos números enteros x e y , y reemplazar todas las apariciones de x en ambas arrays con y . Tenga … Continue reading «Cambios mínimos requeridos para hacer dos arreglos idénticos»

Conectividad Dinámica | Conjunto 2 (DSU con reversión)

La conectividad dinámica, en general, se refiere al almacenamiento de la conectividad de los componentes de un gráfico, donde los bordes cambian entre algunas o todas las consultas. Las operaciones básicas son:  Agregue un borde entre los Nodes a y b Eliminar el borde entre los Nodes a y b Tipos de problemas al usar … Continue reading «Conectividad Dinámica | Conjunto 2 (DSU con reversión)»

Programa Java para encontrar los GCD de rangos de índice dados en una array

Dada una array a[0 . . . n-1]. Deberíamos poder encontrar eficientemente el GCD desde el índice qs (inicio de consulta) hasta qe (final de consulta) donde 0 <= qs <= qe <= n-1. Ejemplo : Input : a[] = {2, 3, 60, 90, 50}; Index Ranges : {1, 3}, {2, 4}, {0, 2} Output: … Continue reading «Programa Java para encontrar los GCD de rangos de índice dados en una array»

Bosquejo Count-min en Java con ejemplos

El croquis Count-min es una estructura de datos probabilísticos . El croquis Count-Min es una técnica simple para resumir grandes cantidades de datos de frecuencia. El algoritmo de bosquejo Count-min habla de realizar un seguimiento del recuento de cosas. es decir, cuántas veces está presente un elemento en el conjunto. Encontrar el recuento de un … Continue reading «Bosquejo Count-min en Java con ejemplos»

Intentos comprimidos

Un trie es una estructura de datos que almacena strings como una estructura de datos de árbol . El número máximo de hijos en un Node es igual al tamaño del alfabeto. Uno puede imprimir fácilmente letras en orden alfabético, lo que no es posible con hash . Propiedades de Trie : Es un árbol … Continue reading «Intentos comprimidos»