首页 > 其他 > 详细

leetcode--539. Minimum Time Difference

时间:2018-05-06 15:22:51      阅读:162      评论:0      收藏:0      [点我收藏+]
Given a list of 24-hour clock time points in "Hour:Minutes" format, find the minimum minutes difference between any two time points in the list.



Example 1:
Input: ["23:59","00:00"]
const MaxMinute = 24 * 60

func findMinDifference(slice1 []string) int {
    min := MaxMinute

    ts := make([]int, 2*MaxMinute)
    for _, v := range slice1 {
        ts[getMinute(v)] ++
        if ts[getMinute(v)]==2{
            return 0
        }
        ts[getMinute(v)+MaxMinute]++
    }


    front, rear := 0, 0
    for front < MaxMinute*2 {
        if front == rear || ts[front] == 0 {
            front++
            continue
        }
        if ts[rear] == 0 {
            rear++
            continue
        }

        if min > front-rear {
            min = front - rear
        }
        rear = front
        front ++
    }

    return min
}

func getMinute(timestr string) int {
        return ((int(timestr[0]-0))*10+int(timestr[1]-0))*60+(int(timestr[3]-0))*10+int(timestr[4]-0)
}

 


Output: 1

 

leetcode--539. Minimum Time Difference

原文:https://www.cnblogs.com/fwdqxl/p/8998178.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!