python培训教程坐标最短路径计算
同学们,今天我们一起来了解一下Python培训教程-坐标最短路径计算的内容!
平面上有 n 个点,点的位置用整数坐标表示 points[i] = [xi, yi]。请你计算访问所有这些点需要的最小时间(以秒为单位)。你可以按照下面的规则在平面上移动:
每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。必须按照数组中出现的顺序来访问这些点。
示例 1:
输入:points = [[1,1],[3,4],[-1,0]]
输出:7
解决方案
首先我们需要知道在坐标轴上进行移动的话,一点到对角线路径为二,且横纵坐标分别减少或者增加1。
然后然后我们将横纵坐标分别取开进行计算,然后选购其中大的那个为我们需要进行下一步处理的数据,存放在一个列表中。因为存在该列表中的数据都是单步需要的距离,最后我们就将存在列表中的数据求和,就得到第一个到最后一个坐标的距离,从而得到结果。
Python代码
class Solution:
def minTimeToVisitAllPoints(points):
list = []
z = len(points)
num = 0
for i in range(z-1):
x = abs(points[i][0]-points[i+1][0])
y = abs(points[i][1]-points[i+1][1])
if x>=y:
list.append(x)
else:
list.append(y)
for n in list:
num = num+n
return num
print(minTimeToVisitAllPoints([[1,1],[3,4],[-1,0]]))
结语
在图像表格题中,我们要善于去画图解决问题,在图像中找到其中的规律,这样才会让我们看到题目时思路清晰。
好啦!今天的分享到这里就结束了,文章内容转载于技术网站欧!希望大家可以持续关注马哥教育官网,每天都会有大量优质内容与大家分享!
声明:文章来源于网络,如有侵权请联系删除!