¡El problema aquí es encontrar un conjunto de todos los puntos enteros que dé una suma mínima sobre todas las distancias de Manhattan desde un conjunto de puntos dado!Todos los puntos con distancia mínima de Manhattan desde el resto de puntos determinados [Optimizado]
Por ejemplo:
vamos a tener un determinado conjunto de puntos {P1, P2, P3 ... Pn}
problema básico es encontrar un punto X decir que tendría suma mínima sobre todas las distancias desde los puntos {P1, P2, P3 ... Pn}.
es decir | P1-X | + | P2-X | + .... + | Pn-X | = D, donde D será el mínimo sobre todo X.
Avanzando un paso más, puede haber más de un valor de X que cumpla con la condición anterior. es decir, más de una X puede ser posible, lo que daría el mismo valor D. Entonces, tenemos que encontrar todas esas X.
Un enfoque básico que cualquiera puede pensar será encontrar la mediana de las entradas y luego la fuerza bruta las coordenadas que se mencionan en this post
Pero el problema con este enfoque es: si la mediana da dos valores que están muy separados, entonces terminamos forzando en bruto todos los puntos que nunca se ejecutarán en un tiempo dado.
Entonces, ¿hay algún otro enfoque que dé el resultado incluso cuando los puntos están muy separados (donde la mediana da un rango que es del orden de 10^9).
@ BlueRaja-DannyPflughoeft piso (media) no le da la distancia mínima. tomar [0,99,100,101]. floor (mean) = ceiling (mean) = 75, pero los puntos más cercanos son 99 y 100. – soulcheck
@soulcheck: Ah, tienes razón, usar la media realmente minimizaría la suma de cuadrados. –