681 Next Closest Time
681. Next Closest Time
题目: https://leetcode.com/problems/next-closest-time/
难度:
Medium
思路
题目说输入一个时间,format是HH:MM, 然后输出接下来最近的一个时间,且这个时间的数字必须要在输入的时间中可以找到,所以我们用h
, m
分别代表输入时间的小时数和分钟数,然后可以计算出输入时间的总分钟数curr
,在未来的一天之内,我们一分钟一分钟往下面试,第一个满足的就直接
作为结果就行了.
class Solution(object):
def nextClosestTime(self, time):
"""
:type time: str
:rtype: str
"""
h, m = time.split(":")
curr = int(h) * 60 + int(m) # 这里要注意h可能会是0开头的,如输入的时间为01:22,所以需要int(h)和int(m)
result = None
for i in xrange(curr+1, curr+1441):
t = i % 1440
h, m = t // 60, t % 60
result = "%02d:%02d" % (h, m)
if set(result) <= set(time):
break
return result