更多课程 选择中心


Python培训

400-111-8989

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]]))

结语

在图像表格题中,我们要善于去画图解决问题,在图像中找到其中的规律,这样才会让我们看到题目时思路清晰。

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python中什么是详解矩阵乘法?
下一篇:我没有基础,能否学会Python?

如何自学Python?

说一说python中的几个基础语法

为什么Python类语法应该不同?

0基础入门Python,3 个常识点必须先了解!

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省