539. 最小时间差
查看原题

解题思路
将时间转为一天中的多少分钟
- 使用split将时间按照':'分为小时和分钟,再将小时转为分钟存到数组arr中
- 将arr排序(升序),再遍历求出相邻元素的最小差值min
- 注意要比较第一个和最后一个元素的差值,判断arr中最后一个元素的值距离00:00还需多少分钟,再加上arr中第一个元素的值,与当前最小的分钟数进行比较。
代码
/**
* @param {string[]} timePoints
* @return {number}
*/
var findMinDifference = function(timePoints) {
let arr = [];
for(let i = 0;i<timePoints.length;i++){
// 将时间拆开
const temp = timePoints[i].split(':');
arr.push(parseInt(temp[0]) * 60 + parseInt(temp[1]))
}
arr.sort((a,b)=>a-b);
let min = 1440 ;
for(let i = 1;i<arr.length;i++){
if(min > arr[i] - arr[i-1]){
min = arr[i] - arr[i-1];
}
}
let maxNum = 24 * 60;
if(maxNum - arr[arr.length - 1] + arr[0] < min){
min = maxNum - arr[arr.length - 1] + arr[0]
}
console.log(arr)
return min;
};


浙公网安备 33010602011771号