
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
⭐️关注作者,带你刷题,从简单的算法题了解最常用的算法技能(寒假每日一题)
⭐️关注作者刷题——简单到进阶,让你不知不觉成为无情的刷题机器,有问题请私信
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)