列表

详情


2224. 转化时间需要的最少操作数

给你两个字符串 currentcorrect ,表示两个 24 小时制时间

24 小时制时间"HH:MM" 进行格式化,其中 HH0023 之间,而 MM0059 之间。最早的 24 小时制时间为 00:00 ,最晚的是 23:59

在一步操作中,你可以将 current 这个时间增加 151560 分钟。你可以执行这一操作 任意 次数。

返回将 current 转化为 correct 需要的 最少操作数

 

示例 1:

输入:current = "02:30", correct = "04:35"
输出:3
解释:
可以按下述 3 步操作将 current 转换为 correct :
- 为 current 加 60 分钟,current 变为 "03:30" 。
- 为 current 加 60 分钟,current 变为 "04:30" 。 
- 为 current 加 5 分钟,current 变为 "04:35" 。
可以证明,无法用少于 3 步操作将 current 转化为 correct 。

示例 2:

输入:current = "11:00", correct = "11:01"
输出:1
解释:只需要为 current 加一分钟,所以最小操作数是 1 。

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int convertTime(string current, string correct) { } };

python3 解法, 执行用时: 32 ms, 内存消耗: 15 MB, 提交时间: 2022-05-30 10:33:36

class Solution:
    def convertTime(self, current: str, correct: str) -> int:
        def getMinutes(t: str) -> int:
            a = t.split(':')
            return int(a[0]) * 60 + int(a[1])
        diff_in_minutes = getMinutes(correct) - getMinutes(current)
        res = 0
        for delta in [60, 15, 5, 1]:
            res += diff_in_minutes // delta
            diff_in_minutes = diff_in_minutes % delta
            if diff_in_minutes == 0:
                break
        return res

上一题