Maximice las particiones que, si se ordenan individualmente, hacen que se ordene toda la array

Dada una array arr[] . La tarea es dividir arr[] en el número máximo de particiones, de modo que esas particiones, si se ordenan individualmente, hacen que se ordene toda la array. Ejemplos: Entrada: arr[] = { 28, 9, 18, 32, 60, 50, 75, 70 } Salida: 4 Explicación: Las siguientes son las particiones en … Continue reading «Maximice las particiones que, si se ordenan individualmente, hacen que se ordene toda la array»

Programa Python3 para verificar el elemento mayoritario en una array ordenada

Pregunta: Escribe una función para encontrar si un entero x aparece más de n/2 veces en una array ordenada de n enteros. Básicamente, necesitamos escribir una función, digamos isMajority(), que tome una array (arr[] ), el tamaño de la array (n) y un número para buscar (x) como parámetros y devuelva verdadero si x es un … Continue reading «Programa Python3 para verificar el elemento mayoritario en una array ordenada»

Manera fácil de recordar la ecuación matricial de Strassen

La array de Strassen es un método Divide and Conquer que nos ayuda a multiplicar dos arrays (de tamaño n X n).  Puede consultar el enlace, para tener el conocimiento sobre Matrix de Strassen primero: divide y vencerás | Conjunto 5 (Multiplicación de arrays de Strassen) Pero este método necesita incluir algunas ecuaciones, así que … Continue reading «Manera fácil de recordar la ecuación matricial de Strassen»

Busque en una array 2D ordenada por filas y columnas utilizando el algoritmo Divide and Conquer

Dada una array nxn, donde cada fila y columna se ordenan en orden creciente. Dada una clave, cómo decidir si esta clave está en la array. Una complejidad de tiempo lineal se discute en la publicación anterior. Este problema también puede ser un muy buen ejemplo para los algoritmos de divide y vencerás . El siguiente … Continue reading «Busque en una array 2D ordenada por filas y columnas utilizando el algoritmo Divide and Conquer»

Busque igual, más grande o más pequeño en una array ordenada en Java

Dada la array de enteros ordenados, la clave de búsqueda y las preferencias de búsqueda encuentran la posición de la array. Las preferencias de búsqueda pueden ser: 1) IGUAL: busca solo la clave igual o -1 si no se encuentra. Es una búsqueda binaria normal. 2) EQUAL_OR_SMALLER: busca solo la clave igual o la más … Continue reading «Busque igual, más grande o más pequeño en una array ordenada en Java»

Colocación de Sudo | Recorrido de colocación

Dada una array A de N enteros positivos y un presupuesto B. Su tarea es decidir la cantidad máxima de elementos que se seleccionarán de la array de modo que el costo acumulado de todos los elementos seleccionados sea menor o igual al presupuesto B. Costo de selección el i-ésimo elemento viene dado por: A[i] … Continue reading «Colocación de Sudo | Recorrido de colocación»

Algoritmo Quickhull para casco convexo

Dado un conjunto de puntos, un casco convexo es el polígono convexo más pequeño que contiene todos los puntos dados. La entrada es una array de puntos especificados por sus coordenadas x e y. La salida es un casco convexo de este conjunto de puntos en orden ascendente de coordenadas x. Ejemplo : Input : … Continue reading «Algoritmo Quickhull para casco convexo»

Elementos distintos en subarreglo usando el Algoritmo de Mo

Dada una array ‘a[]’ de tamaño n y número de consultas q. Cada consulta se puede representar mediante dos números enteros l y r. Su tarea es imprimir el número de enteros distintos en el subarreglo l a r. Dado a[i] <=  Ejemplos: Input : a[] = {1, 1, 2, 1, 2, 3} q = … Continue reading «Elementos distintos en subarreglo usando el Algoritmo de Mo»

Clasificación rápida frente a clasificación combinada

Requisito previo : Clasificación combinada y Clasificación rápida Quick sort es un algoritmo interno que se basa en la estrategia divide y vencerás. En esto: La array de elementos se divide en partes repetidamente hasta que ya no es posible dividirla más. También se conoce como «clasificación de intercambio de partición» . Utiliza un elemento … Continue reading «Clasificación rápida frente a clasificación combinada»

Raíz mínima de la ecuación cuadrática dada para un valor mayor que igual a K

Dadas las constantes de la ecuación cuadrática F(x) = Ax 2 + Bx + C como A, B y C y un número entero K , la tarea es encontrar el valor más pequeño de la raíz x tal que F(x) ≥ K y x > 0 . Si no existen tales valores, imprima «-1» … Continue reading «Raíz mínima de la ecuación cuadrática dada para un valor mayor que igual a K»