• 数组:[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

  • 相关阅读:
    android 运行时异常捕获
    汇编32位寄存器和地址编号的五种书写形式
    各种进制的乘法表,八进制的加法,和数字的源码你,反码,和补码
    第一个c程序和vs2017 在打开MFC rc文件时找不到rcdll.dl
    asdfasdf
    php如何判断一个字符串是否包含另一个字符串
    php计算时间差/两个时间日期相隔的天数,时,分,秒.
    PHP服务器时间差8小时解决方案
    历年学生作品评论
    第一周例行报告
  • 原文地址:https://www.cnblogs.com/fangyanr/p/11983300.html
Copyright © 2020-2023  润新知