【每日一题见微知著】贪心算法——最小时间差(超简单)

【每日一题见微知著】贪心算法——最小时间差(超简单),第1张

【每日一题见微知著】贪心算法——最小时间差(超简单)

⭐️寒假新坑——代码之狐的每日做题笔记

539. 最小时间差-Mid 题目描述:

给定一个 24 小时制(小时:分钟 “HH:MM”)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。允许跨天差,23.59和00.01之间最小时间差为2

解题思路:

排序+贪心——对时间序列排序,根据贪心策略——一定有排序好的相邻时间之间差值最小

代码实现:
class Solution {
    public int findMinDifference(List timePoints) {
        //保存分钟数
        int[] t=new int[timePoints.size()];
        int i=0;
        //将时间字符转化为分钟数
        for(String s:timePoints){
            t[i]+=(s.charAt(0)-'0')*10*60;
            t[i]+=(s.charAt(1)-'0')*60;
            t[i]+=(s.charAt(3)-'0')*10;
            t[i]+=(s.charAt(4)-'0');
            i++;
        }

        //升序排序
        Arrays.sort(t);
        int ans=24*60;
        //相邻序号做差,求最小差
        for(int index=0;index 
结尾 

题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems

⭐️关注作者,带你刷题,从简单的算法题了解最常用的算法技能(寒假每日一题)
⭐️关注作者刷题——简单到进阶,让你不知不觉成为无情的刷题机器,有问题请私信

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5708147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存