Tutte le sfide
Facile 0 risolte 0% di accettazione

Distance Between Points

Compute the straight-line distance between two points.

Cosa imparerai

  • Applicare la formula della distanza
  • Usare le radici quadrate
  • Restituire un risultato in virgola mobile

Problema

Compute the Euclidean distance between (x1, y1) and (x2, y2): the square root of (x2 − x1)² + (y2 − y1)².

Implement distance(x1, y1, x2, y2).

Input

x1: First point x. y1: First point y. x2: Second point x. y2: Second point y.

Output

Return the distance.

Vincoli

-1,000,000 ≤ each coordinate ≤ 1,000,000

Esempi

Esempio 1
Input:
x1 = 0.0
x2 = 3.0
y1 = 0.0
y2 = 4.0

Output atteso:
expected = 5.0
Input:
double x1 = 0.0;
double x2 = 3.0;
double y1 = 0.0;
double y2 = 4.0;

Output atteso:
double expected = 5.0;
Input:
double x1 = 0.0;
double x2 = 3.0;
double y1 = 0.0;
double y2 = 4.0;

Output atteso:
double expected = 5.0;

Spiegazione

√(3² + 4²) = √25 = 5.

Esempio 2
Input:
x1 = 1.0
x2 = 1.0
y1 = 1.0
y2 = 1.0

Output atteso:
expected = 0.0
Input:
double x1 = 1.0;
double x2 = 1.0;
double y1 = 1.0;
double y2 = 1.0;

Output atteso:
double expected = 0.0;
Input:
double x1 = 1.0;
double x2 = 1.0;
double y1 = 1.0;
double y2 = 1.0;

Output atteso:
double expected = 0.0;

Spiegazione

Both points are the same, so the distance is 0.

Come affrontarlo

Prova prima da solo, poi apri un suggerimento alla volta.

Suggerimento 1

Calcola la differenza orizzontale e verticale tra i due punti.

Suggerimento 2

Eleva al quadrato entrambe le differenze, somma i risultati, poi fai la radice quadrata del totale.

Suggerimento 3

Attenzione alle coordinate negative, ma la formula della distanza funziona allo stesso modo.

Complessità attesa

tempo O(1), spazio aggiuntivo O(1)

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.