美文网首页
[刷题防痴呆] 0539 - 最小时间差 (Minimum Ti

[刷题防痴呆] 0539 - 最小时间差 (Minimum Ti

作者: 西出玉门东望长安 | 来源:发表于2021-10-13 00:35 被阅读0次

    题目地址

    https://leetcode.com/problems/minimum-time-difference/

    题目描述

    539. Minimum Time Difference
    
    Given a list of 24-hour clock time points in "HH:MM" format, return the minimum minutes difference between any two time-points in the list.
     
    
    Example 1:
    
    Input: timePoints = ["23:59","00:00"]
    Output: 1
    Example 2:
    
    Input: timePoints = ["00:00","23:59","00:00"]
    Output: 0
    
    
    
    

    思路

    • 将string转换成分钟int的list.
    • 排序后两两求差值的最小值.

    关键点

    • 注意, 0点和23:59分这种边界条件. 最后一个和第一个差值的处理.

    代码

    • 语言支持:Java
    class Solution {
        public int findMinDifference(List<String> timePoints) {
            List<Integer> times = new ArrayList<>(); 
            for (String str: timePoints) {
                String[] strs = str.split(":");
                int h1 = Integer.parseInt(strs[0]);
                int m1 = Integer.parseInt(strs[1]);
                times.add(h1 * 60 + m1);
            }
    
            Collections.sort(times);
            int min = Integer.MAX_VALUE;
            for (int i = 1; i < times.size(); i++) {
                min = Math.min(min, times.get(i) - times.get(i - 1));
            }
            min = Math.min(min, 24 * 60 - times.get(times.size() - 1) + times.get(0));
    
            return min;
        }
    }
    

    相关文章

      网友评论

          本文标题:[刷题防痴呆] 0539 - 最小时间差 (Minimum Ti

          本文链接:https://www.haomeiwen.com/subject/elhholtx.html