1266. 访问所有点的最小时间

该博客分析了1266题目的解决方案,讨论了如何在二维平面上计算访问所有点的最小时间,考虑了水平和垂直距离相等及不等的情况,并提供了相关代码实现。
摘要由CSDN通过智能技术生成

1266. 访问所有点的最小时间

这里是引用
题目分析:
1、points是一个二维数组用来存储
2、二维数组长度为n,即点的个数
3、当两个点的水平距离和竖直距离相等时,所用时间就是水平距离长度
4、当两个点的水平距离和竖直距离不相等时,所用时间就是两个距离中长的那个

代码:

class Solution {
	public static void main(String[] args){
		int[][] points={[1,1],[3,4],[-1,0]};
		System.out.println(minTimeToVisitAllPoints(points));
	}
    public static int minTimeToVisitAllPoints(int[][] points) {
        int seconds=0;
        for(int i=1;i<points.length;i++){
            seconds+=distance(points[i-1],points[i]);
        }
        return seconds;
    }
    public static int distance(int[] first,int[] two){
        if(Math.abs(first[0]-two[0])==Math.abs(first[1]-two[1])){
            return Math.abs(first[0]-two[0]);
        }else{
            return Math.max(Math.abs(first[0]-two[0]),Math.abs(first[1]-two[1]));
        }
    }
}

运行结果

7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值