Minimum Time Difference
来源:互联网 发布:阿里云怎么禁止ip访问 编辑:程序博客网 时间:2024/05/16 15:53
leetcode第539题,竞赛题,要求求给定24小时制时间列表中两个最近的时间间隔。
这道题首先要解决的就是把字符串表示的时间转化为分钟数,这样才好计算。
其次,如何才能计算两个最近的时间间隔,这里我们可以把分钟数排个序,然后依次遍历,只需要计算相邻时间点的距离,依次与当前最小值比较就可以了,因为排序后,最小间隔只可能出现在相邻时间点上。
但是时钟问题有个很大的麻烦,就是循环问题,比如23:59和00:00,只差了一分钟,但是按照上述计算,则差了1439分钟,这显然是不对的。原因在于,00:00不在属于今天的时间了,而是下一天的开始,为了简便起见,可以这样处理,每次计算时间,都加上24小时,一并加入列表,这样就可以把第二天的时间也考虑到,遍历的时候自然也就能找出最小的了。
class Solution(object): def findMinDifference(self, timePoints): """ :type timePoints: List[str] :rtype: int """ minList = [] for time in timePoints: minute = int(time[:2])*60+int(time[3:]) minute2 = minute+24*60 minList.append(minute) minList.append(minute2) print minList minList.sort() diff = 1441 for i in range(1, len(minList)): diff = min(diff, minList[i]-minList[i-1]) return diff
0 0
- Minimum Time Difference
- Minimum Time Difference
- 539. Minimum Time Difference
- Minimum Time Difference
- Minimum Time Difference
- 539. Minimum Time Difference
- 539. Minimum Time Difference
- 539. Minimum Time Difference
- 539.Minimum Time Difference
- leetcode 539. Minimum Time Difference
- Leetcode-539. Minimum Time Difference
- [leetcode] 539. Minimum Time Difference
- 【LeetCode 539】 Minimum Time Difference
- [LeetCode]539. Minimum Time Difference
- LeetCode 539. Minimum Time Difference
- leetcode 539. Minimum Time Difference
- LeetCode 539. Minimum Time Difference
- Minimum Time Difference不复杂
- C++学习记录10--冒泡排序
- svm学习笔记1
- cordova 插件调用activity和结果返回
- 上拉电阻与下拉电阻的作用和区别
- MyBatis学习二 MyBatis的配置文件详解
- Minimum Time Difference
- uboot主Makefile分析
- WARNING: Subscription for node down event still pending
- 昨天的博客突然不见了............
- 51nod 1255 字典序最小的子序列 []【贪心】
- Bengio Deep Learning 初探 —— 第6章:前馈神经网络
- DevC++一调试就停止运行?
- 单目SLAM在移动端应用的实现难点有哪些?
- MyEclipse在安装Struts2时报错。