Python|leetcode-访问所有点的最小时间

简介: Python|leetcode-访问所有点的最小时间

前言

前两天号内《坐标最短路径计算》一文引起了部分读者的关注,对于该文的问题描述以及解题思路大家都有疑问。所以小编写此文章来详细介绍一下。该题来自于leetcode网站上的一道题目,题目名字见本文标题。大家也可以到官网去搜索看一下原题。


问题描述

平面上有 n 个点,点的位置用整数坐标表示 points[i] =[xi, yi]。请你计算访问所有这些点需要的最小时间(以秒为单位)。

你可以按照下面的规则在平面上移动:

·每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。

·必须按照数组中出现的顺序来访问这些点。

示例1:

图2.1示例1


解决方案

拿到题目后,首先提取出题目的关键信息,“最小”和“顺序”,既然是按坐标点的顺序,那么访问所有点的最短路径(最小时间)就为每对相邻点的最短路径之和。

3.1假设第i对相邻点的距离为Xi,坐标点的个数为L,那么总共就有L-1对相邻点,所以总的最短路径就为:


如果求出了Xi,这个S就可以用一个for循环累加Xi,所以现在关键就是Xi怎么求。

3.2由上文可知Xi为相邻两点的距离,本来数学中的两个平面坐标点的距离应该是两点横纵坐标之差的平方和再开方,也就是通过勾股定理计算而来。但是在这道题中则不需要,因为题目说了一个方格的对角线可以看作是在一秒内向水平和竖直方向各移动一个单位长度,所以在这种情况下无论什么样的两个点都可以看作是处于同一水平线或是竖直线上。而它的长度即为两点的横坐标或是纵坐标之差,因为差值大的那一边是必须要走完的,而差值小的则可以通过斜线来补齐。所以最后得出两点的距离即为两点横纵坐标差值大的值。


结语

经过以上的分析,这个问题也算是解决了,至于代码,可以用很多种方式写出来,这不是最关键的,也不是唯一的答案。代码仅供参考。


目录
相关文章
|
18小时前
|
安全 Unix Linux
在Python中,如何处理文件和目录的访问权限?
【2月更文挑战第15天】【2月更文挑战第43篇】在Python中,如何处理文件和目录的访问权限?
|
18小时前
|
SQL 关系型数据库 MySQL
Python 数据库访问与ORM框架——打造高效开发利器
Python 作为一门广泛使用的编程语言,其在数据库访问方面也有着较为成熟的解决方案,其中ORM框架更是成为了开发者们的首选。本文将介绍 Python 中数据库访问和 ORM 框架的基本概念,以及如何使用 SQLAlchemy 这一优秀的 ORM 框架进行开发。
|
18小时前
|
算法 安全 调度
解决Python并发访问共享资源引起的竞态条件、死锁、饥饿问题的策略
解决Python并发访问共享资源引起的竞态条件、死锁、饥饿问题的策略
29 0
|
18小时前
|
SQL 数据管理 数据库
Python数据库访问与ORM框架:探索高效数据管理的奥秘
在当今信息爆炸的时代,高效地管理和处理海量数据成为了企业和开发者的迫切需求。本文将介绍Python中的数据库访问技术以及ORM框架(如SQLAlchemy),探索其在数据管理方面的重要作用。通过使用Python数据库访问和ORM框架,开发者可以更轻松地操作数据库、提高代码可读性和维护性,并实现高效的数据持久化和查询。
|
18小时前
|
关系型数据库 API 数据库
Python数据库访问与ORM框架:加速开发、提升效率
在现代软件开发中,数据库是不可或缺的组成部分。本文介绍了Python中数据库访问的重要性,并探讨了ORM框架(例如SQLAlchemy)如何帮助程序员加速开发、提升效率。通过使用ORM框架,开发人员可以轻松地将Python对象映射到数据库表,并且可以通过简洁的API进行数据库操作。此外,本文还讨论了ORM框架在处理复杂查询、维护数据一致性和实现数据库迁移方面的优势。
|
18小时前
|
编译器 Linux C语言
python C语言扩展之简单扩展-使用ctypes访问C代码
python C语言扩展之简单扩展-使用ctypes访问C代码
19 0
|
18小时前
|
索引 Python
Python 教程之 Pandas(10)—— 访问 series 的元素
Python 教程之 Pandas(10)—— 访问 series 的元素
59 0
Python 教程之 Pandas(10)—— 访问 series 的元素
|
18小时前
|
索引 Python
在Python中访问字典中的值
在Python中访问字典中的值
32 2
|
18小时前
|
前端开发 UED Python
Wagtail-基于Python Django的内容管理系统CMS实现公网访问
Wagtail-基于Python Django的内容管理系统CMS实现公网访问
|
18小时前
|
存储 人工智能 索引
Python中的嵌套字典访问与操作详解
Python中的嵌套字典访问与操作详解
25 1

热门文章

最新文章