每日一题——LeetCode1266.访问所有点的最小时间

news/2024/11/29 0:38:17/

方法一 个人方法 找规律:

当前的点为current,下一个点为next,x为两点横坐标之间距离,y为两点竖坐标之间距离

1、当两点横坐标相同时,两点距离为y

2、当两点竖坐标相同时,两点距离为x

3、当两点x与y相同时,则两点的连线在直线y=x上,那么两点的距离既是x也是y

4、当y>x时,x可以转换为y的一部分,其实距离就是y,同理x>y,y可以转为x的一部分,距离就是x

比如:从(1,1)点到(3,4)点的距离,其实和(3,1)到(3,4)的距离是一样的。

var minTimeToVisitAllPoints = function(points) {let time=0for(let i=0;i<points.length-1;i++){let current=points[i],next=points[i+1]let x=Math.abs(next[0]-current[0]),y=Math.abs(next[1]-current[1])if(current[1]===next[1]){time+=x}else if(current[0]===next[0]){time+=y}else if(x===y){time+=x}else{if(x<y){time+=y}else if(x>y){time+=x}}}return time
};

消耗时间和内存情况:

其实可以更加简化:

不用分那么多情况,两点间距离就是x轴距离和y轴距离绝对值更大的那一个:

var minTimeToVisitAllPoints = function (points) {let result = 0for (let i = 0; i < points.length - 1; i++) {let x = Math.abs(points[i + 1][0] - points[i][0])let y = Math.abs(points[i + 1][1] - points[i][1])result += Math.max(x, y)}return result
};

消耗时间和内存情况:


http://www.ppmy.cn/news/1324106.html

相关文章

5文件操作

包含头文件<fstream> 操作文件三大类&#xff1a; ofstream : 写文件ifstream &#xff1a;读文件fstream : 读写文件 5.1文本文件 -文件以ascii的形式存储在计算机中 5.1.1写文件 步骤&#xff1a; 包含头文件 #include "fstream"创建流对象 ofs…

python对access数据库的增删改查

import pyodbc from datetime import datetime import random random_number random.randint(1, 100) current_datetime datetime.now() # 获取当前时间 path r.\Database1.accdb # 数据库所在的位置 datasheet1 "datatable" # 连接到Access数据库 conn_st…

FFMPEG命令生成各国国旗

文章目录 亚洲篇中国~待完善朝鲜~待补充韩国~待补充蒙古~待补充日本越南~待补充老挝 欧洲篇挪威~待补充瑞典~待补充芬兰~待补充冰岛~待补充丹麦~待补充爱沙尼亚拉脱维亚立陶宛白俄罗斯~待补充乌克兰摩尔多瓦~待补充俄罗斯德国 亚洲篇 中国~待完善 先画个五角星 在100x100的画…

Linux搭建简单NFS服务

目录 准备工作&#xff1a; 需求一&#xff1a; 需求二&#xff1a; 需求三&#xff1a; 准备工作&#xff1a; 安装需要的软件&#xff08;服务端和客户端都需要安装&#xff09;&#xff1a; [rootserver ~]# yum install rpcbind -y[rootserver ~]# yum install nfs-ut…

七、Qt 信号和槽

在QT4以上的版本&#xff0c;在窗体上用可以通过选中控件&#xff0c;然后点击鼠标右键单击按钮&#xff0c;选择“转到槽”。可以自动创建信号和槽。 选择clicked(),并点击 ok Qt Creator会给头文件和代码文件自动添加 这个按钮的单击事件&#xff08;信号和槽&#xff09;。 …

基于安卓系统的智能家居控制系统

实验流程 &#xff08;一&#xff09;实验流程图 &#xff08;二&#xff09;实验步骤 1.蓝牙配置 &#xff08;1&#xff09;所需材料 USB 转 TTL 模块&#xff08;下载器)、HC-05 蓝牙模块一对、串口调试助手。 &#xff08;2&#xff09;配置要求 实现两个蓝牙模块的主从…

天拓分享:汽车零部件制造企业如何利用边缘计算网关和数网星平台实现数控机床数据采集分析

一、项目背景 某汽车零部件制造企业为了提高生产效率、降低能耗和提高产品质量&#xff0c;决定引入TDE边缘计算网关和数网星工业互联网平台&#xff0c;对数控机床进行数据采集与分析。 二、解决方案 1、设备选型与配置&#xff1a;考虑到企业生产需求和数控机床的特性&…

金融CRM系统是什么?有哪些功能和作用

今年市场经济下行&#xff0c;投资趋向于保守、人们消费降级&#xff0c;对于金融行业来说影响很大。受经济形式的影响加上行业的数字化转型升级&#xff0c;金融企业都在寻求客户管理的新策略&#xff0c;维护好忠实客户、吸引新客户投资。小编认为CRM系统是管理客户的不二之选…