539.Minimum Time Difference
2017-12-12 00:30
330 查看
539.Minimum Time Difference
题目描述:Given a list of 24-hour clock time points in “Hour:Minutes” format, find the minimum minutes difference between any two time points in the list.Example 1:
Input: ["23:59","00:00"] Output: 1
题目大意:找出最相近的两个时间
思路:建立一个24*60的桶,将出现的时间存储到桶中,遍历桶,计算相近的两个桶之间的差值,找出差值最小值,由于最小值可能出现在最后一个时间与第一个时间之间的差值,所以最后还需将计算到的最小值与最后时间与第一时间差值比较,找出最小值
代码
package String; import java.util.List; /** * @Author OovEver * @Date 2017/12/10 22:17 */ public class LeetCode539 { public int findMinDifference(List<String> timePoints) { boolean[] mark = new boolean[24 * 60]; for(int i=0;i<timePoints.size();i++) { String[] t = timePoints.get(i).split(":"); int h = Integer.parseInt(t[0]); int m = Integer.parseInt(t[1]); if (mark[h * 60 + m]) { return 0; } mark[h * 60 + m] = true; } // 前一个数 int prev = 0; int min = Integer.MAX_VALUE; // 第一个数 int first = Integer.MAX_VALUE; // 最后一个数 int last = Integer.MIN_VALUE; for(int i=0;i<24*60;i++) { if 4000 (mark[i]) { // 如果前面有时间才可进行i-prev的判断 if (first != Integer.MAX_VALUE) { min = Math.min(min, i - prev); } first = Math.min(first, i); last = Math.max(last, i); prev = i; } } min = Math.min(min, 24 * 60 - last + first); return min; } }
相关文章推荐
- [leetcode]-539 Minimum Time Difference
- 539. Minimum Time Difference
- 【LeetCode 539】 Minimum Time Difference
- 539. Minimum Time Difference
- LeetCode:539. Minimum Time Difference
- String-539-Minimum Time Difference
- 539. Minimum Time Difference
- LeetCode Weekly Contest 23 之 539. Minimum Time Difference
- LeetCode笔记:539. Minimum Time Difference
- 539. Minimum Time Difference
- [leetcode] 539. Minimum Time Difference
- 539. Minimum Time Difference
- [LeetCode]Minimum Time Difference(java)
- LeetCode Minimum Time Difference
- Minimum Time Difference
- Minimum Time Difference不复杂
- [LeetCode] Minimum Time Difference 最短时间差
- Minimum Time Difference
- Leetcode OJ Contest23 Minimum Time Difference_Leetcode539
- Minimum Time Difference