Point2D 表:
Column Name | Type |
---|---|
x | int |
y | int |
p1(x1, y1) 和 p2(x2, y2) 这两点之间的距离是 sqrt((x2 - x1)2 + (y2 - y1)2) 。
编写解决方案,报告 Point2D 表中任意两点之间的最短距离。保留 2 位小数 。
返回结果格式如下例所示。
示例 1:
输入:
Point2D table:
x | y |
---|---|
-1 | -1 |
0 | 0 |
-1 | -2 |
输出:
shortest |
---|
1.00 |
解释:
最短距离是 1.00 ,从点 (-1, -1) 到点 (-1, 2) 。
Power(2, 3) = 8(2的3次方),第一个参数是数字,第二个参数表示几次方
Sqrt(4) = 2,参数是数字,返回数字的平方根
Round(0.33333, 2) = 0.33,第一个参数是数字,第二个参数表示保留几位小数
SELECT ROUND(
MIN(
SQRT(
POWER((two.x - one.x), 2) + POWER((two.y - one.y), 2)
)
)
, 2
) AS shortest
FROM Point2D one, Point2D two
WHERE (one.x, one.y) != (two.x, two.y)