class Solution {
public:
int findMinDifference(vector<string>& timePoints) {
}
};
539. 最小时间差
给定一个 24 小时制(小时:分钟 "HH:MM")的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。
示例 1:
输入:timePoints = ["23:59","00:00"] 输出:1
示例 2:
输入:timePoints = ["00:00","23:59","00:00"] 输出:0
提示:
2 <= timePoints.length <= 2 * 104
timePoints[i]
格式为 "HH:MM"原站题解
python3 解法, 执行用时: 48 ms, 内存消耗: 16.8 MB, 提交时间: 2022-11-20 17:39:02
def getMinutes(t: str) -> int: return ((ord(t[0]) - ord('0')) * 10 + ord(t[1]) - ord('0')) * 60 + (ord(t[3]) - ord('0')) * 10 + ord(t[4]) - ord('0') class Solution: def findMinDifference(self, timePoints: List[str]) -> int: timePoints.sort() ans = float('inf') t0Minutes = getMinutes(timePoints[0]) preMinutes = t0Minutes for i in range(1, len(timePoints)): minutes = getMinutes(timePoints[i]) ans = min(ans, minutes - preMinutes) # 相邻时间的时间差 preMinutes = minutes ans = min(ans, t0Minutes + 1440 - preMinutes) # 首尾时间的时间差 return ans