Quiero diseñar un algoritmo que determine si un conjunto A es plural y devolver ese elemento.Dividir y conquistar - Array plural
Una matriz es plural cuando existe un elemento x en la matriz si más de la mitad de la matriz es igual a x.
Me pregunto si existe un algoritmo de división y conquista más eficiente que funciona mejor que el actual que tengo ahora.
Assume you have the array
aaabbcac
dividiré recursivamente la matriz hasta que obtenga subarreglos de tamaño 2, de la siguiente manera.
aa ab bc ac
de aquí, voy a comparar cada elemento del subconjunto para ver si son iguales: Si es igual, el retorno del elemento, si no, regrese falsa.
aa ab bc ac
a f f f
así que ahora tengo una matriz del elemento A y 3 falso.
yo estaba pensando en la combinación de ellos, así:
a f f f
a f <----- combining a and f will give a
a <----- returns a
Pero, si nos fijamos en la matriz, tenemos 4 Atléticos, que no cumple los criterios de un conjunto plural. Debería devolver falso, si la matriz no fuera una matriz plural.
Creo que mi algoritmo se ejecutará en O (n lgn), debería ser un algoritmo correcto, que desafortunadamente no lo es.
¿Alguien puede indicarme la dirección correcta para esto?
¿Tiene que ser un enfoque de dividir y conquistar? – gusbro
Sí Estoy buscando un algoritmo de dividir y conquistar. – ali
¿Es esta tarea? Estuviste muy cerca ... –