• 数组:[1266访问所有点的最小时间 ]


    这是我的leetcode第一题,说实话当时看题没看懂,然后看了看题解,还是没懂,后来又琢磨题的输入输出,思考了会儿才明白题的意思【写到此处面红耳赤】

    大致题意:二维数组中的几组数字,其中每组是两个数字(可理解对应了x,y轴),从第一组数字依次变化到最后一组,一共最少需要增减1多少次(秒)。

    举例:

    输入:points = [[1,1],[3,4],[-1,0]]
    输出:7
    解释:一条最佳的路径是: [1,1] -> [2,2] -> [3,3] -> [3,4] -> [2,3] -> [1,2] -> [0,1] -> [-1,0]
    从 [1,1] 到 [3,4] 需要 3 秒
    从 [3,4] 到 [-1,0] 需要 4 秒
    一共需要 7 秒

    第一次代码:

     1 import java.lang.*;
     2 public class Solution {
     3     public static int minTimeToVisitAllPoints(int[][] points) {
     4         int num=0;
     5         for(int i=0;i<points.length-1;i++){
     6             System.out.println("~~~~~~"+i);
     7             int x1=points[i][0];
     8             int y1=points[i][1];
     9             int x2=points[i+1][0];
    10             int y2=points[i+1][1];
    11             System.out.println("x1:"+x1+",y1:"+y1);
    12             System.out.println("x2:"+x2+",y2:"+y2);
    13             num+=Math.max(Math.abs(points[i][1]-points[i+1][1]),Math.abs(points[i][0]-points[i+1][0]));
    14         }
    15         return num;
    16     }
    17     public static void main(String[] args){
    18     int [][]arr=new int[][]{{1,1},{3,4},{-1,0}};
    19     int [][]arr1=new int[][]{{3,2},{-2,2}};
    20     int res=minTimeToVisitAllPoints(arr);
    21     System.out.print(res);
    22     }
    23 }

    最终代码:

    1 class Solution {
    2     public int minTimeToVisitAllPoints(int[][] points) {
    3         int num=0;
    4         for(int i=0;i<points.length-1;i++){
    5             num+=Math.max(Math.abs(points[i][1]-points[i+1][1]),Math.abs(points[i][0]-points[i+1][0]));
    6         }
    7         return num;
    8     }
    9 }

    总结:

    最终代码在执行用时和内存消耗上都有提升:循环内的打印语句延长了执行用时,循环内变量的声明增加了内存消耗。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/minimum-time-visiting-all-points

  • 相关阅读:
    HDU 3435 A new Graph Game(最小费用流:有向环权值最小覆盖)
    HDU 3488 Tour(最小费用流:有向环最小权值覆盖)
    UVa 11538 象棋中的皇后
    UVa 1210 连续素数之和
    HDU 3605 Escape(状态压缩+最大流)
    UVa 12034 比赛名次(递推)
    HDU 2732 Leapin' Lizards(最大流)
    HDU 4183 Pahom on Water(最大流)
    HDU 3572 Task Schedule(最大流判断满流)
    UVa 11181 条件概率
  • 原文地址:https://www.cnblogs.com/fangyanr/p/11983300.html
Copyright © 2020-2023  润新知