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

这篇具有很好参考价值的文章主要介绍了每日一题——LeetCode1266.访问所有点的最小时间。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

每日一题——LeetCode1266.访问所有点的最小时间,每日一题,javascript,算法,leetcode每日一题——LeetCode1266.访问所有点的最小时间,每日一题,javascript,算法,leetcode

方法一 个人方法 找规律:

当前的点为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

每日一题——LeetCode1266.访问所有点的最小时间,每日一题,javascript,算法,leetcode

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

var minTimeToVisitAllPoints = function(points) {
    let time=0
    for(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
};

消耗时间和内存情况:

每日一题——LeetCode1266.访问所有点的最小时间,每日一题,javascript,算法,leetcode

其实可以更加简化:

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

var minTimeToVisitAllPoints = function (points) {
    let result = 0
    for (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
};

消耗时间和内存情况:

每日一题——LeetCode1266.访问所有点的最小时间,每日一题,javascript,算法,leetcode文章来源地址https://www.toymoban.com/news/detail-806545.html

到了这里,关于每日一题——LeetCode1266.访问所有点的最小时间的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023-08-10LeetCode每日一题(下降路径最小和 II)

    点击跳转到题目位置 给你一个 n x n 整数矩阵 grid ,请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为:从 grid 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组的同一列。 示例 1: 示例 2: 提示: n == grid.length == grid[i].

    2024年02月13日
    浏览(46)
  • 【每日一题 | 动态规划】访问完所有房间的第一天

    【动态规划】【数组】【2024-03-28】 1997. 访问完所有房间的第一天 定义状态 定义 f[i] 表示第一次到达房间 i 的日期编号。 根据题意,首次(第 1 次)访问房间 i 时,因为 1 是计数,所以下一次一定会访问房间 j = nextVisit[i] 。只有访问次数达到偶数才能访问右边的下一个房间

    2024年04月16日
    浏览(38)
  • Leetcode每日一题:931. 下降路径最小和(2023.7.13 C++)

    目录 931. 下降路径最小和 题目描述: 实现代码与解析: 动态规划 原理思路:         给你一个  n x n  的  方形  整数数组  matrix  ,请你找出并返回通过  matrix  的 下降路径   的   最小和  。 下降路径  可以从第一行中的任何元素开始,并从每一行中选择一个元素

    2024年02月16日
    浏览(50)
  • 每日一题leetcode--使循环数组所有元素相等的最少秒数

    相当于扩散,每个数可以一次可以扩散到左右让其一样,问最少多少次可以让整个数组都变成一样的数 使用枚举,先将所有信息存到hash表中,然后逐一进行枚举,计算时间长短用看下图  考虑到环形数组,可以把首项+n放到最后,这样for循环就相当于前后可以联通 贴一张别

    2024年02月12日
    浏览(48)
  • (排序) 剑指 Offer 45. 把数组排成最小的数 ——【Leetcode每日一题】

    难度:中等 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: “102” 示例 2: 输入: [3,30,34,5,9] 输出: “3033459” 提示 : 0 nums.length = 100 说明: 输出结果可能非常大,所以你需要返回一个字符串而不

    2024年02月10日
    浏览(50)
  • LeetCode·每日一题·1851. 包含每个查询的最小区间·优先队列(小顶堆)

        离线查询:  输入的结果数组queries[]是无序的。如果我们按照输入的queries[]本身的顺序逐个查看,时间复杂度会比较高。 于是,我们将queries[]数组按照数值大小,由小到大逐个查询,这种方法称之为离线查询。 位运算:  离线查询的时候,queries[]可以按照数值大小逐个

    2024年02月16日
    浏览(49)
  • 2023-09-05 LeetCode每日一题(从两个数字数组里生成最小数字)

    点击跳转到题目位置 给你两个只包含 1 到 9 之间数字的数组 nums1 和 nums2 ,每个数组中的元素 互不相同 ,请你返回 最小 的数字,两个数组都 至少 包含这个数字的某个数位。 示例 1: 示例 2: 提示: 1 = nums1.length, nums2.length = 9 1 = nums1[i], nums2[i] = 9 每个数组中,元素 互不相

    2024年02月09日
    浏览(60)
  • SQL- 每日一题【1327. 列出指定时间段内所有的下单产品】

    表:  Products 表:  Orders   写一个解决方案,要求获取在 2020 年 2 月份下单的数量不少于 100 的产品的名字和数目。 返回结果表单的  顺序无要求  。 查询结果的格式如下。 示例 1:         1.题目要求我们获取在 2020 年 2 月份下单的数量不少于 100 的产品的名字和数目。 2.首先

    2024年02月13日
    浏览(41)
  • Leetcode每日一题:1289. 下降路径最小和 II(2023.8.10 C++)

    目录 1289. 下降路径最小和 II 题目描述: 实现代码与解析: 动态规划 原理思路:         给你一个  n x n  整数矩阵  grid  ,请你返回  非零偏移下降路径  数字和的最小值。 非零偏移下降路径  定义为:从  grid  数组中的每一行选择一个数字,且按顺序选出来的数字

    2024年02月13日
    浏览(39)
  • 2023-07-07 LeetCode每日一题(过桥的时间)

    点击跳转到题目位置 共有 k 位工人计划将 n 个箱子从旧仓库移动到新仓库。给你两个整数 n 和 k,以及一个二维整数数组 time ,数组的大小为 k x 4 ,其中 time[i] = [leftToRighti, pickOldi, rightToLefti, putNewi] 。 一条河将两座仓库分隔,只能通过一座桥通行。旧仓库位于河的右岸,新仓

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包