收藏面试精选Java技术升华

539. 最小时间差

2022-01-19  本文已影响0人  名字是乱打的

一 .题目

二 .思路

三 .代码

 class Solution {
        public int findMinDifference(List<String> timePoints) {
            int size=timePoints.size();
            //仿时间戳做个今明两天的数组
            int[] time=new int[size*2];
            for (int i = 0,idx=0; i <size; idx=idx+2,i++) {
                String[] split = timePoints.get(i).split(":");
                int h = Integer.parseInt(split[0]);
                int m = Integer.parseInt(split[1]);
                //计算当前时间的时间戳
                time[idx]=h*60+m;

                //计算后一天当前时间的时间戳
                //60*24=1440分钟
                time[idx+1]=time[idx]+1440;
            }

            Arrays.sort(time);

            int res=Integer.MAX_VALUE;
            for (int i = 0; i+1 < time.length; i++) {
                res=Math.min((time[i+1]-time[i]),res);
            }
            return res;
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读