题目链接: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))