每日leetcode-数组-539. 最小时间差

分类:字符串-字符和数字的转换

题目描述:

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

解题思路:全部转化为分钟,最小的时间加一天算到第二天,进行跟第二大的和最大的 两个判断  并进行比较

class Solution:
    def findMinDifference(self, timePoints: List[str]) -> int:
        output = []
        for i in range(len(timePoints)):
            # timepoint的字符串形式是固定的
            tmp = int(timePoints[i][:2])*60 + int(timePoints[i][3:])
            output.append(tmp)
        output.sort()
        # 最小时间加一天算到第二天
        output.append(output[0]+1440)
        return min([output[i+1]-output[i] for i in range(len(output)-1)])

时间复杂度:O(n)

空间复杂度:O(n)

原文地址:https://www.cnblogs.com/LLLLgR/p/14964843.html