代码改变世界

[LeetCode] 613. Shortest Distance in a Line_Easy tag: SQL

2018-08-28 23:53  Johnson_强生仔仔  阅读(388)  评论(0编辑  收藏  举报

Table point holds the x coordinate of some points on x-axis in a plane, which are all integers.

 

Write a query to find the shortest distance between two points in these points.

 

| x   |
|-----|
| -1  |
| 0   |
| 2   |

 

The shortest distance is '1' obviously, which is from point '-1' to '0'. So the output is as below:

 

| shortest|
|---------|
| 1       |

 

Note: Every point is unique, which means there is no duplicates in table point.

 

Follow-up: What if all these points have an id and are arranged from the left most to the right most of x axis?

Code 

Note: 注意要加上 x1.x != x2.x, 否则总是0

SELECT MIN(ABS(x1.x - x2.x)) AS shortest FROM point as x1 JOIN point as x2 WHERE x1.x != x2.x