Re: [閒聊] 每日leetcode
539. Minimum Time Difference
## 思路
把HH:MM轉成minute存到buckets (60*24)
如果之前已經存在過就直接回傳0
掃bucket檢查前後的差值, 最後再檢查頭尾
## Code
```python
class Solution:
def findMinDifference(self, timePoints: List[str]) -> int:
buckets = [False] * 1440
for time in timePoints:
hour, minute = map(int, time.split(':'))
val = 60 * hour + minute
if buckets[val]:
return 0
buckets[val] = True
res = 1440
first = prev = None
for i in range(1440):
if not buckets[i]:
continue
if first is None:
first = prev = i
continue
res = min(res, i-prev)
prev = i
res = min(res, 1440 + first - prev)
return res
```
--
https://i.imgur.com/kyBhy6o.jpeg

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 185.213.82.177 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1726460939.A.F6B.html
討論串 (同標題文章)
完整討論串 (本文為第 866 之 1554 篇):