539. 最小时间差

给定一个 24 小时制(小时:分钟)的时间列表,找出列表中任意两个时间的最小时间差并已分钟数表示。

示例 1:
输入: ["23:59","00:00"]
输出: 1

备注:

列表中时间数在 2~20000 之间。
每个时间取值在 00:00~23:59 之间。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-time-difference
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

/**
 * @param {string[]} timePoints
 * @return {number}
 */
var findMinDifference = function(timePoints) {
    let res = 720, a, b
    timePoints.sort((a, b) => a.replace(/:/, '.') - b.replace(/:/, '.'))
    b = timePoints[0].split(':')
    b[0] = b[0] * 1 + 24
    timePoints.push(b.join(':'))
    for (let i = 1; i < timePoints.length; i++) {
        a = timePoints[i - 1].split(':')
        b = timePoints[i].split(':')
        res = Math.min(res, (b[0] - a[0]) * 60 + (b[1] - a[1]))
    }
    return res
};

发表评论

电子邮件地址不会被公开。 必填项已用*标注