Convertir una array a forma reducida | Conjunto 3 (búsqueda binaria)

Dada una array arr[] que consta de N enteros distintos, la tarea es convertir la array dada en una secuencia de primeros N enteros no negativos, es decir, [0, N – 1] tal que el orden de los elementos sea el mismo, es decir , 0 se coloca en el índice del elemento de array … Continue reading «Convertir una array a forma reducida | Conjunto 3 (búsqueda binaria)»

Búsqueda lineal vs búsqueda binaria

  Requisito previo: Búsqueda lineal Búsqueda binaria BÚSQUEDA LINEAL C++ // Linear Search in C++    #include <iostream> using namespace std;    int search(int array[], int n, int x) {        // Going through array sequencially     for (int i = 0; i < n; i++)         if (array[i] == x)             return i;     return -1; } Python … Continue reading «Búsqueda lineal vs búsqueda binaria»

Número más pequeño con al menos n ceros finales en factorial

Dado un número n . La tarea es encontrar el número más pequeño cuyo factorial contenga al menos n ceros finales. Ejemplos:   Input : n = 1 Output : 5 1!, 2!, 3!, 4! does not contain trailing zero. 5! = 120, which contains one trailing zero. Input : n = 6 Output : 25 … Continue reading «Número más pequeño con al menos n ceros finales en factorial»

Encuentra el elemento que aparece una vez en una array ordenada

Dada una array ordenada en la que todos los elementos aparecen dos veces (uno después de uno) y un elemento aparece solo una vez. Encuentre ese elemento en complejidad O (log n). Ejemplo:  C++ // C++ program to find the element that // appears only once #include <bits/stdc++.h> using namespace std;   // A Linear … Continue reading «Encuentra el elemento que aparece una vez en una array ordenada»

Encuentre el tiempo mínimo para terminar todos los trabajos con restricciones dadas

Dada una variedad de trabajos con diferentes requisitos de tiempo. Hay K asignados idénticos disponibles y también se nos indica cuánto tiempo tarda un asignado en hacer una unidad del trabajo. Encuentre el tiempo mínimo para terminar todos los trabajos con las siguientes restricciones.  A un cesionario solo se le pueden asignar trabajos contiguos. Por … Continue reading «Encuentre el tiempo mínimo para terminar todos los trabajos con restricciones dadas»

Maximice el elemento de array más pequeño incrementando todos los elementos en un subarreglo de longitud K en 1 exactamente M veces

Dada una array arr[] de tamaño N y los números enteros M y K , la tarea es encontrar el valor máximo posible del elemento de array más pequeño realizando M operaciones. En cada operación, aumente el valor de todos los elementos en un subarreglo contiguo de longitud K en 1 . Ejemplos: Entrada: arr[ … Continue reading «Maximice el elemento de array más pequeño incrementando todos los elementos en un subarreglo de longitud K en 1 exactamente M veces»

Prefijo común más largo usando búsqueda binaria

Dado un conjunto de strings, encuentre el prefijo común más largo.   Input : {“geeksforgeeks”, “geeks”, “geek”, “geezer”} Output : «gee» Input : {«apple», «ape», «april»} Output : «ap» Input : {«abcd»} Output : «abcd» Enfoques anteriores: coincidencia palabra por palabra, coincidencia de carácter por carácter , divide y vencerás  En este artículo, se analiza  un … Continue reading «Prefijo común más largo usando búsqueda binaria»

Longitud del subarreglo más largo en el que los elementos mayores que K son más que los elementos no mayores que K

Dada una array arr[] de longitud N . La tarea es encontrar la longitud del subarreglo más largo en el que los elementos mayores que un número dado K son más que los elementos que no son mayores que K. Ejemplos: Entrada: N = 5, K = 2, arr[]={ 1, 2, 3, 4, 1 }  … Continue reading «Longitud del subarreglo más largo en el que los elementos mayores que K son más que los elementos no mayores que K»

Intercambios mínimos para que se pueda aplicar la búsqueda binaria

Dada una array desordenada de longitud n y un entero k, encuentre los intercambios mínimos para obtener la posición de k antes de usar la búsqueda binaria. Aquí podemos intercambiar dos números cualesquiera tantas veces como queramos. Si no podemos obtener la posición intercambiando elementos, imprima «-1». Ejemplos:  Input : arr = {3, 10, 6, … Continue reading «Intercambios mínimos para que se pueda aplicar la búsqueda binaria»

Piso de cada elemento en la misma array

Dada una array de enteros, encuentre el elemento más pequeño o el mismo más cercano para cada elemento. Si todos los elementos son mayores para un elemento, imprima -1. Podemos suponer que la array tiene al menos dos elementos. Ejemplos:   Entrada: arr[] = {10, 5, 11, 10, 20, 12}  Salida: 10 -1 10 10 12 … Continue reading «Piso de cada elemento en la misma array»