题目:原题链接(中等)
标签:字符串、贪心算法
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( 24 + 60 ) O(24+60) O(24+60) | O ( 1 ) O(1) O(1) | 40ms (65.45%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class Solution: def nextClosestTime(self, time: str) -> str: hour1, minute1 = time.split(":") numbers = set(hour1 + minute1) hour2 = hour1 minute2 = minute1 # 寻找更大的分钟 for i in range(int(minute1) + 1, 60): minute = str(i).zfill(2) if minute[0] in numbers and minute[1] in numbers: return hour2 + ":" + minute # 寻找更大的小时 for i in range(int(hour1) + 1, 24): temp = str(i).zfill(2) if temp[0] in numbers and temp[1] in numbers: hour2 = temp break # 寻找最小的分钟 for i in range(0, 60): temp = str(i).zfill(2) if temp[0] in numbers and temp[1] in numbers: minute2 = temp break # 这一天还有更大的小时 if hour1 != hour2: return hour2 + ":" + minute2 # 寻找下一天里最小的小时 for i in range(0, 23): hour2 = str(i).zfill(2) if hour2[0] in numbers and hour2[1] in numbers: return hour2 + ":" + minute2 # 无法改变 return hour1 + ":" + minute1
总结 以上是内存溢出为你收集整理的LeetCode题解(0681):最近时刻(Python)全部内容,希望文章能够帮你解决LeetCode题解(0681):最近时刻(Python)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)