def getMinutes(t):
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):
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
1.getMinutes()
将00:00
转成分钟,对应1:00=60
2.ord('0')
将对应字符转ascii码48
3.先进行排序,然后再计算前一个时间与后一个的时间差,用min()
取最小时间差,最后再比首尾两个的时间差。
4.float('inf')
正无穷