539. 最小时间差

exiaohu 于 2022-01-18 发布

题目链接:539. 最小时间差

如题目计算即可。

一个优化:如果时间点数量超过 $24 * 60 = 1440$,那么肯定会有重复的点,返回 0 即可。

from typing import List


class Solution:
    def findMinDifference(self, timePoints: List[str]) -> int:
        if len(timePoints) > 1440:
            return 0
      
        def convert(tps: str) -> int:
            h, m = tps.split(':')
            return int(h) * 60 + int(m)

        instants = sorted(map(convert, timePoints))

        return min(a - b for a, b in zip(instants[1:] + [instants[0] + 24 * 60], instants))