每日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)

posted @ 2021-07-02 20:48  LLLLgR  阅读(100)  评论(0编辑  收藏  举报