Encuentra el número que se repite y el que falta usando dos ecuaciones

Dada una array arr[] de tamaño N , cada entero del rango [1, N] aparece exactamente una vez excepto A que aparece dos veces y B que falta . La tarea es encontrar los números A y B. Ejemplos:   Entrada: arr[] = {1, 2, 2, 3, 4}  Salida:  A = 2  B = 5 Entrada: … Continue reading «Encuentra el número que se repite y el que falta usando dos ecuaciones»

Suma de números en un rango [L, R] cuyo número de divisores es primo

Dadas las consultas Q donde cada consulta consta de un rango de enteros [L, R] , la tarea es encontrar la suma de los enteros del rango dado cuyo recuento de divisores es primo. Ejemplos:   Entrada: Q[][] = {{2, 4}}  Salida:  9  Todos los números en el rango tienen solo 2 divisores  , que es … Continue reading «Suma de números en un rango [L, R] cuyo número de divisores es primo»

Recuento de arrays de tamaño N con elementos en el rango [0, (2^K)-1] con suma máxima y bit a bit AND 0

Dados dos números enteros N y K , la tarea es encontrar el recuento de todas las arrays posibles de tamaño N con suma máxima y AND bit a bit de todos los elementos como 0. Además, los elementos deben estar dentro del rango de 0 a 2 K -1 . Ejemplos: Entrada: N = … Continue reading «Recuento de arrays de tamaño N con elementos en el rango [0, (2^K)-1] con suma máxima y bit a bit AND 0»

Ordenar elementos por frecuencia | Conjunto 5 (usando Java Map)

Dada una array de enteros, ordene la array de acuerdo con la frecuencia de los elementos en orden decreciente, si la frecuencia de dos elementos es la misma, entonces ordene en orden creciente Ejemplos: Input: arr[] = {2, 3, 2, 4, 5, 12, 2, 3, 3, 3, 12} Output: 3 3 3 3 2 2 … Continue reading «Ordenar elementos por frecuencia | Conjunto 5 (usando Java Map)»

Notaciones asintóticas y cómo calcularlas

En matemáticas, el análisis asintótico , también conocido como asintótica , es un método para describir el comportamiento límite de una función. En informática, el análisis asintótico de un algoritmo se refiere a definir el límite matemático de su rendimiento en tiempo de ejecución en función del tamaño de entrada. Por ejemplo, el tiempo de … Continue reading «Notaciones asintóticas y cómo calcularlas»

Mejora en el algoritmo de clasificación rápida

Requisito previo: Algoritmo QuickSort El algoritmo de clasificación rápida discutido en este artículo puede tomar tiempo O (N 2 ) en el peor de los casos. Por lo tanto, se necesitan ciertas variaciones que puedan dividir eficientemente la array y reorganizar los elementos alrededor del pivote. Partición de pivote único : en la partición de … Continue reading «Mejora en el algoritmo de clasificación rápida»

El problema del conjunto de golpes es NP completo

Prerrequisito: NP Completo Problema : dado un conjunto base X de elementos y también una colección de agrupación C de subconjuntos disponibles en X y un número entero k , la tarea es encontrar el subconjunto más pequeño de X , tal que el subconjunto más pequeño, H ,coincida con todos los conjuntos comprendidos en … Continue reading «El problema del conjunto de golpes es NP completo»

Concatenación mínima requerida para obtener estrictamente LIS para arreglos con elementos repetitivos | Conjunto-2

Dada una array A[] de tamaño n donde puede haber elementos repetitivos en la array. Tenemos que encontrar la concatenación mínima requerida para que la secuencia A obtenga estrictamente la subsecuencia creciente más larga. Para la array A[] seguimos la indexación basada en 1. Ejemplos: Entrada: A = {2, 1, 2, 4, 3, 5}  Salida: … Continue reading «Concatenación mínima requerida para obtener estrictamente LIS para arreglos con elementos repetitivos | Conjunto-2»

Concatenación mínima requerida para obtener estrictamente LIS para la array dada

Dada una array A[] de tamaño n donde solo hay elementos únicos en la array. Tenemos que encontrar la concatenación mínima requerida para que la secuencia A obtenga estrictamente la subsecuencia creciente más larga. Para la array A[] seguimos la indexación basada en 1. Ejemplos: Entrada: A = {1, 3, 2}  Salida: 2  Explicación:  Podemos … Continue reading «Concatenación mínima requerida para obtener estrictamente LIS para la array dada»

Logaritmo iterado log*(n)

Logaritmo iterado o Log*(n) es el número de veces que se debe aplicar iterativamente la función logarítmica antes de que el resultado sea menor o igual a 1.   Aplicaciones: se utiliza en el análisis de algoritmos (consulte Wiki para obtener más detalles) C++ // Recursive CPP program to find value of // Iterated Logarithm … Continue reading «Logaritmo iterado log*(n)»