Expande la string de acuerdo con las condiciones dadas.

Dada la string str del tipo “3(ab)4(cd)” , la tarea es expandirla a “abababcdcdcdcd”, donde los números enteros son del rango [1, 9] . Este problema se planteó en una entrevista de ThoughtWorks realizada en octubre de 2018. Ejemplos:  Entrada: str = “3(ab)4(cd)”  Salida: abababcdcdcdcd Entrada: str = “2(kl)3(ap)”  Salida: klklapapap  Enfoque: Atravesamos la string … Continue reading «Expande la string de acuerdo con las condiciones dadas.»

Clasificación rápida avanzada (algoritmo híbrido)

Requisitos previos: ordenación por inserción , ordenación rápida , ordenación por selección En este artículo, se implementa un algoritmo híbrido con la combinación de ordenación rápida y ordenación por inserción . Como sugiere el nombre, el algoritmo híbrido combina más de un algoritmo. Por qué Algoritmo híbrido: el algoritmo  Quicksort es eficiente si el tamaño de … Continue reading «Clasificación rápida avanzada (algoritmo híbrido)»

Número mínimo de operaciones para mover todos los caracteres en mayúscula antes que todos los caracteres en minúscula

Dada una string str , que contiene caracteres en mayúsculas y minúsculas. En una sola operación, cualquier carácter en minúscula se puede convertir en un carácter en mayúscula y viceversa. La tarea es imprimir el número mínimo de tales operaciones necesarias para que la string resultante consista en cero o más caracteres en mayúscula seguidos … Continue reading «Número mínimo de operaciones para mover todos los caracteres en mayúscula antes que todos los caracteres en minúscula»

Algoritmo más rápido de la ruta más corta

Prerrequisitos: Algoritmo Bellman-Ford Dado un grafo ponderado dirigido con V vértices, E aristas y un vértice fuente S . La tarea es encontrar el camino más corto desde el vértice de origen a todos los demás vértices en el gráfico dado. Ejemplo:   Entrada: V = 5, S = 1, arr = {{1, 2, 1}, {2, … Continue reading «Algoritmo más rápido de la ruta más corta»

Encuentre el índice i tal que el prefijo de S1 y el sufijo de S2 hasta que forme un palíndromo cuando se concatena

Dadas dos strings A y B de igual longitud, la tarea es encontrar un índice i tal que A[0…i] y B[i+1…n-1] den un palíndromo cuando se concatenan entre sí. Si no es posible encontrar dicho índice, imprima -1 . Ejemplos:   Entrada: S1 = “abcdf”, S2 = “sfgba”  Salida: 1  S1[0..1] = “ab”, S2[2..n-1] = “gba”  … Continue reading «Encuentre el índice i tal que el prefijo de S1 y el sufijo de S2 hasta que forme un palíndromo cuando se concatena»

Ordene la ruta desde la raíz hasta un Node dado en un árbol binario

Dado un árbol binario, la tarea es ordenar la ruta particular desde un Node dado del árbol binario. Se le proporciona un Node clave y un árbol. La tarea es ordenar la ruta hasta ese Node en particular. Ejemplos :  Input : 3 / \ 4 5 / \ \ 1 2 6 key = … Continue reading «Ordene la ruta desde la raíz hasta un Node dado en un árbol binario»

Número de formas de convertir un carácter X en una string Y

Dado un carácter X y una string Y de longitud N , la tarea es encontrar el número de formas de convertir X en Y agregando caracteres a los extremos izquierdo y derecho de X. Tenga en cuenta que dos formas cualesquiera se consideran diferentes si la secuencia de los agregados izquierdo y derecho es … Continue reading «Número de formas de convertir un carácter X en una string Y»

Número máximo de valores únicos en la array después de realizar determinadas operaciones

Dada una array arr[] de tamaño N y cada elemento en la array arr[] está en el rango [1, N] y la array puede contener duplicados. La tarea es encontrar el número máximo de valores únicos que se pueden obtener de modo que el valor en cualquier índice i pueda ser:   Aumentado en 1. Disminuido … Continue reading «Número máximo de valores únicos en la array después de realizar determinadas operaciones»

Recuento de inversiones mediante estructura de datos basada en políticas

Requisito previo: estructura de datos basada en políticas Dada una array arr[] , la tarea es encontrar el número de inversiones para cada elemento de la array. Recuento de inversión: para una array indica qué tan lejos (o cerca) está la array de ser ordenada. Si la array ya está ordenada, el conteo de inversión … Continue reading «Recuento de inversiones mediante estructura de datos basada en políticas»

Recuento de elementos que tienen un número impar de divisores en el rango de índice [L, R] para consultas Q

Dada una array arr[] de N enteros positivos y el número de consultas Q , cada consulta contiene dos números L y R. La tarea es contar el número de elementos en la array que tienen un número impar de divisores del índice L a R. Ejemplos:  Entrada: arr[] = [2, 4, 5, 6, 9], … Continue reading «Recuento de elementos que tienen un número impar de divisores en el rango de índice [L, R] para consultas Q»