• leetcode--539. Minimum Time Difference


    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
  • 相关阅读:
    接口详解
    可空类型
    初学泛型
    结构和类
    触发器
    学习C#异常处理机制
    静飘移
    《Hashtable(散列表)》 集合
    自定义集合类
    Automation伺服程式無法産生物件
  • 原文地址:https://www.cnblogs.com/fwdqxl/p/8998178.html
Copyright © 2020-2023  润新知