class Solution:
def numberOfRounds(self, startTime: str, finishTime: str) -> int:
sh, sm = map(int, startTime.split(":"))
eh, em = map(int, finishTime.split(":"))
if 0 < sm < 15:
sm = 15
elif 15 < sm < 30:
sm = 30
elif 30 < sm < 45:
sm = 45
elif 45 < sm < 60:
sm = 0
sh += 1
if 0 < em < 15:
em = 0
elif 15 < em < 30:
em = 15
elif 30 < em < 45:
em = 30
elif 45 < em < 60:
em = 45
st = sh * 60 + sm
et = eh * 60 + em
if st > et:
et += 24 * 60
return (et - st) // 15
复杂度分析
令 n 为数组长度。
时间复杂度:$O(n)$
空间复杂度:$O(n)$
以上就是本文的全部内容了。大家对此有何看法,欢迎给我留言,我有时间都会一一查看回答。更多算法套路可以访问我的 LeetCode 题解仓库:https://github.com/azl397985856/leetcode 。 目前已经 40K star 啦。大家也可以关注我的公众号《力扣加加》带你啃下算法这块硬骨头。