目录
题目
给定一个 24 小时制(小时:分钟)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。
示例 1:
输入: ["23:59","00:00"]
输出: 1备注:
列表中时间数在 2~20000 之间。
每个时间取值在 00:00~23:59 之间。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-time-difference
思路
采用桶排序的方法:
1.将不同的小时分为不同的桶,相应把分钟压入桶中。
2.每个桶内部排序一次,计算桶内的最小时间差。
3.把每个桶的第一个元素和前一个非空桶的最后一个元素做计算。
4.注意不要漏掉首个非空桶和最后一个非空桶的首尾元素计算。
代码
import sys
class Solution:
# 计算桶内差值
def min_difference_in_list(self, nums):
if len(nums) < 2:
return sys.maxsize
min_difference = sys.maxsize
for index_i in range(1, len(nums)):
tmp &#