zoukankan      html  css  js  c++  java
  • Leedcode刷题 539. 最小时间差


    给定一个 24 小时制(小时:分钟)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。

    思路:

      先将String列表中的时间全部化为分钟数,然后排序,然后for循环寻找最小差值

     注意:不要忘记比较末尾和首部的差值,如测试用例

    class Solution {
        public int findMinDifference(List<String> timePoints) {
            int min=Integer.MAX_VALUE;//定义最小值
            int []minute=new int [timePoints.size()];//创建存放分钟数的数组
            for(int i=0;i<timePoints.size();i++)
                minute[i]=Integer.valueOf(timePoints.get(i).substring(0,2)) * 60+Integer.valueOf(timePoints.get(i).substring(3,5));
    //用到list.get(i)来访问列表元素 和substring(int a,int b)来截取子串 后转化为Integer再乘60 存入数组中,0-2是小时,3-5是分钟
      
        Arrays.sort(minute);//排序
    for(int i=0;i<minute.length-1;i++){
                min=Math.min(min,minute[i+1]-minute[i]);//寻找最小差值
            }
            return Math.min(min,1440-minute[minute.length-1]+minute[0]);//再将最小值和 (末尾减开头)作比较
        }
    }
  • 相关阅读:
    监控体系(二)
    piwik安装部署
    smokeping安装部署
    监控体系(一)
    学习zabbix(九)
    学习zabbix(八)
    学习zabbix(七)
    学习zabbix(六)
    数据结构之树形结构
    数据结构之线性结构
  • 原文地址:https://www.cnblogs.com/nilbook/p/13432208.html
Copyright © 2011-2022 走看看