LeetCode刷题篇之第539道算法题的解题思路

leetcode刷题系列:

原创 LeetCode刷题篇之第1道算法题的解题思路
原创LeetCode刷题篇之第43道算法题的解题思路
原创 LeetCode刷题篇之第58道算法题的解题思路
原创 LeetCode刷题篇之第67道算法题的解题思路
原创LeetCode刷题篇之第164道算法题的解题思路
原创 LeetCode刷题篇之第189道算法题的解题思路
原创 LeetCode刷题篇之第268道算法题的解题思路
原创 LeetCode刷题篇之第557道算法题的解题思路

题目:
在这里插入图片描述
解题思路:

<!--//*<!DOCTYPE html>*//-->
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>leetcode刷题第536题的解题思路</title>
</head>
<script>
    let findMinDifference = function (timePoints) {
    timePoints = timePoints.sort();
    console.log(timePoints)
        for (let i = 0; i < timePoints.length; i++) {
            let Array1 = timePoints[i].split(":");
            timePoints[i] = parseInt(Array1[0])*60 + parseInt(Array1[1]);

        }
        //console.log("timePoints)


        let min = 1440 - timePoints[timePoints.length-1] + timePoints[0];
        for (let i = 0; i < timePoints.length - 1; i++) {
            if((timePoints[i+1]-timePoints[i])>=720){//大于半圆,最短算另外一边
                if (min>=(1440-timePoints[i+1]+timePoints[i])){
                    min =1440-timePoints[i+1]+timePoints[i];
                }
            }else{//差值在半圆以内,直接减
                    if(min>=timePoints[i+1]-timePoints[i]){
                        min = timePoints[i+1]-timePoints[i];
                    }
            }
        }

        console.log(min)
    }
    findMinDifference(["10:00","23:59","00:00"]);//测试用例
</script>
<body>

</body>

</html>

示意图
在这里插入图片描述
答案:

var findMinDifference = function(timePoints) {
 timePoints = timePoints.sort();
        for (let i = 0; i < timePoints.length; i++) {
            let Array1 = timePoints[i].split(":");
            timePoints[i] = parseInt(Array1[0])*60 + parseInt(Array1[1]);
        }
        let min = 1440 - timePoints[timePoints.length-1] + timePoints[0];
        for (let i = 0; i < timePoints.length - 1; i++) {
            if((timePoints[i+1]-timePoints[i])>=720){
                if (min>=(1440-timePoints[i+1]+timePoints[i])){
                    min =1440-timePoints[i+1]+timePoints[i];
                }
            }else{
                    if(min>=timePoints[i+1]-timePoints[i]){
                        min = timePoints[i+1]-timePoints[i];
                    }
            }
        }
        return min;
};

LeetCode刷题篇之第539道算法题的解题思路

当然,这题不止一种解题方法,还有好多。如果你有思路欢迎评论区留言。
如果你正好在做这道题,看到我的文章有了思路,那就点赞留言关注一下撒!!!
欢迎三连!!!😀😀😀
CSDN:听说你很会玩
Github:zhongzhimao
杰灵软件:杰灵软件官网
微信公众号:杰灵软件
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听说你很会玩

请小博喝杯Coffee

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值