联系我
×

539. 最小时间差

查看原题

在这里插入图片描述

解题思路

将时间转为一天中的多少分钟

  1. 使用split将时间按照':'分为小时和分钟,再将小时转为分钟存到数组arr中
  2. 将arr排序(升序),再遍历求出相邻元素的最小差值min
  3. 注意要比较第一个和最后一个元素的差值,判断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;
};

在这里插入图片描述

posted @ 2022-01-18 11:43  .筱  阅读(41)  评论(0)    收藏  举报