Java实现 LeetCode 539 最小时间差(单位转换)

该博客介绍了如何使用Java解决LeetCode上的第539题,即在给定24小时制时间列表中找到两时间的最小时间差,并转化为分钟数。示例展示了对于['23:59', '00:00'],最小时间差为1分钟。" 72842664,5612665,Hive变量使用详解:环境变量、配置属性与命令行变量,"['Hive', '大数据开发', '数据库管理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

539. 最小时间差

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

示例 1:

输入: [“23:59”,“00:00”]
输出: 1

备注:

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

class Solution {
    public int findMinDifference(List<String> timePoints) {
  int min = Integer.MAX_VALUE;
		int[] minute = new int[timePoints.size()];
		for (int i = 0; i < timePoints.size(); i++)
			minute[i] = Integer.valueOf(timePoints.get(i).substring(0, 2)) * 60
					+ Integer.valueOf(timePoints.get(i).substring(3, 5));
		Arrays.sort(minute);
		for (int i = 0; i < minute.length - 1; i++)
			min = Math.min(min, minute[i + 1] - minute[i]);
		return Math.min(min, 1440 - minute[minute.length - 1] + minute[0]);
    }
}
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值