1个月前和朋友交流一到题目,题目内容是在坐标系中有一个动点,计算出动点的最大路径,这边在网络上找了一下类似题目的描述。朋友在说了以后心里就有了一个思路,同时使用SQL完成解答。
感觉这个问题很有意思,首先考了一个思维方式,能否找到问题的特点和共性;这个问题如何求解;求解后的方法还能应用在哪些地方
题目
在平面坐标系中有一个动点不规则运动,会定期上报自己的坐标位置(x,y) ,动点不会180度掉头走
现在我们有了动点移动的所有位置信息,每一条数据包含了:
- x:横坐标
- y:纵坐标
- report_time:上报时间
我们需要求出在这批数据上报期间,动点行走的最大直线距离长度是多少?( 往东走1米,往西走1米,虽然回到原点那么距离就是2米)
解决问题的关键:
Q1: 如何判断移动是在一条直线上?
A1: 这个时候我最先想到的是斜率方式判断点是否都在一个直线上,其次事后查了资料还可以通过角度法、面积法判断是否在一个直线上
Q2:如果确定线段的长度?
A2:当我们确定好了线段,那么根据坐标求出
∣ A B ∣ = ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 |AB| = \sqrt{(x_2 - x_1)^2+(y_2-y_1)^2} ∣AB∣=(x2−x1)2+(