Skip to content

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


回到顶部