Mi è stata recentemente posta la seguente domanda, in un'intervista a Foursquare. Non ero in grado di codificare questo.Distanza tra coppie di punti su un piano cartesiano
Vengono indicati N punti (xi, yi) dove 1 < = i < = N e due numeri aeb, in modo tale che la distanza tra due punti (x1, y1) e (x2, y2) sia massima (a * | x1-x2 |, b * | y1-y2 |), come possiamo calcolare la somma delle distanze tra ogni coppia di punti?
Il numero di punti N è un numero elevato.
Qualcuno può aiutare con come risolvere questa domanda? Per favore spiega l'algoritmo, oltre alla forza bruta, del traversare su tutte le coppie di punti.
Non sono sicuro di capire come non si possa ottenere questo risultato. Non puoi semplicemente scorrere tutte le coppie di punti, calcolare l'istruzione 'max (...)' e sommare tutte le chiamate 'max (...)'? – rayryeng
Questa è la forza bruta. Cerco un algoritmo migliore. Ovviamente potrei pensarci. – user12457112
Ti hanno chiesto un algoritmo di forza bruta o qualsiasi algoritmo? La forza bruta è meglio che non dare nulla. – rayryeng