539. Minimum Time Difference¶
Difficulty: Medium
LeetCode Problem View on GitHub
539. Minimum Time Difference
Medium
Given a list of 24-hour clock time points in HH:MM format, return the minimum minutes difference between any two time-points in the list.
""
Example 1:
Input: timePoints = ["23:59","00:00"] Output: 1
Example 2:
Input: timePoints = ["00:00","23:59","00:00"] Output: 0
Constraints:
2 <= timePoints.length <= 2 * 104timePoints[i]is in the format "HH:MM".
Solution¶
class Solution {
public int findMinDifference(List<String> timePoints) {
int n = timePoints.size();
List<Integer> minutesList = new ArrayList<>();
for (String time : timePoints) {
String[] parts = time.split(":");
int hours = Integer.parseInt(parts[0]);
int minutes = Integer.parseInt(parts[1]);
int totalMinutes = hours * 60 + minutes;
minutesList.add(totalMinutes);
}
Collections.sort(minutesList);
int minDiff = Integer.MAX_VALUE;
for (int i = 1; i < minutesList.size(); i++) {
int diff = minutesList.get(i) - minutesList.get(i - 1);
minDiff = Math.min(minDiff, diff);
}
int circularDiff = 1440 - minutesList.get(minutesList.size() - 1) + minutesList.get(0);
minDiff = Math.min(minDiff, circularDiff);
return minDiff;
}
}
Complexity Analysis¶
- Time Complexity:
O(?) - Space Complexity:
O(?)
Approach¶
Detailed explanation of the approach will be added here