Compruebe si el AND bit a bit de N números es par o impar

Dada una array arr[] que contiene N números. La tarea es verificar si el AND bit a bit de los N números dados es par o impar. Ejemplos :   Entrada: arr[] = { 2, 12, 20, 36, 38 }  Salida: Par Entrada: arr[] = { 3, 9, 17, 13, 15 }  Salida: Impar   Una solución … Continue reading «Compruebe si el AND bit a bit de N números es par o impar»

Cómo encontrar el último índice de un número en una array en C++

Dada una array arr[] de N enteros y el número K , la tarea es encontrar la última aparición de K en arr[] . Si el elemento no está presente, devuelve -1 . Ejemplos:  Entrada: arr[] = {1, 3, 4, 2, 1, 8}, K = 1  Salida: 4  Explicación:  Hay dos ocurrencias de 1 en … Continue reading «Cómo encontrar el último índice de un número en una array en C++»

Funcionamiento y necesidad del algoritmo de Mo

El algoritmo de Mo es un algoritmo genérico. Se puede usar en muchos problemas que requieren el procesamiento de consultas de rango en una array estática , es decir, los valores de la array no cambian entre las consultas. En cada consulta, para un rango dado [a, b], la idea es calcular el valor en … Continue reading «Funcionamiento y necesidad del algoritmo de Mo»

Complejidad de tiempo donde la variable de bucle se incrementa en 1, 2, 3, 4 ..

¿Cuál es la complejidad temporal del siguiente código? void fun(int n) {    int j = 1, i = 0;    while (i < n)    {        // Some O(1) task        i = i + j;        j++;    } } La variable de bucle ‘i’ se incrementa en 1, 2, 3, 4,… hasta que i se vuelve mayor o … Continue reading «Complejidad de tiempo donde la variable de bucle se incrementa en 1, 2, 3, 4 ..»

Tiempo Complejidad de construir un montón – Part 1

Considere el siguiente algoritmo para construir un Montón de una array de entrada A.  CONSTRUIR-MONTÓN (A)      heapsize := tamaño(A);      for i := floor(heapsize/2) downto 1          hacer HEAPIFY(A, i);      fin para  FINAL Una mirada rápida al algoritmo anterior sugiere que el tiempo de ejecución es   desde … Continue reading «Tiempo Complejidad de construir un montón – Part 1»

Visualización de algoritmos de clasificación: Bubble Sort

El cerebro humano puede procesar imágenes fácilmente a pesar de los códigos largos para comprender los algoritmos. En este artículo, la visualización de clasificación de burbujas se implementó utilizando la biblioteca graphics.h . Como todos sabemos, la ordenación de burbuja intercambia los elementos adyacentes si no están ordenados y, finalmente, el más grande se desplaza … Continue reading «Visualización de algoritmos de clasificación: Bubble Sort»

Ordena los números según su suma de dígitos

Dada una array arr[] de N enteros no negativos, la tarea es ordenar estos enteros según la suma de sus dígitos. Ejemplos:   Entrada: arr[] = {12, 10, 102, 31, 15}  Salida: 10 12 102 31 15  10 => 1 + 0 = 1  12 => 1 + 2 = 3  102 => 1 + 0 … Continue reading «Ordena los números según su suma de dígitos»

Recuento de números primos dobles en un rango determinado de L a R

Dados dos números enteros L y R , la tarea de encontrar el número de números primos dobles en el rango.  Un número N se llama doble primo cuando la cuenta de números primos en el rango de 1 a N (excluyendo 1 e incluyendo N) también es primo. Ejemplos:   Entrada: L = 3, R … Continue reading «Recuento de números primos dobles en un rango determinado de L a R»

Elija puntos de dos rangos de modo que ningún punto se encuentre en ambos rangos

Dados dos segmentos [L1, R1] y [L2, R2] , la tarea es elegir dos elementos x e y de ambos rangos (uno del rango uno y otro del rango dos) de modo que ningún elemento pertenezca a ambos rangos, es decir x pertenece al primer rango e y pertenece al segundo rango. Si no existe … Continue reading «Elija puntos de dos rangos de modo que ningún punto se encuentre en ambos rangos»

Encuentre el intervalo más grande que contenga exactamente uno de los N enteros dados.

Dada una array arr[] de N enteros distintos, la tarea es encontrar el elemento máximo en un intervalo [L, R] tal que el intervalo contenga exactamente uno de los N enteros dados y 1 ≤ L ≤ R ≤ 10 5  Entrada: arr[] = {5, 10, 200}  Salida: 99990  Todos los intervalos posibles son [1, … Continue reading «Encuentre el intervalo más grande que contenga exactamente uno de los N enteros dados.»