給定乙個 24 小時制(小時:分鐘)的時間列表,找出列表中任意兩個時間的最小時間差並已分鐘數表示。
示例 1:
輸入: [「23:59」,「00:00」]
輸出: 1
備註:列表中時間數在 2~20000 之間。
每個時間取值在 00:00~23:59 之間。
這裡需要注意乙個問題,那就是兩個時間點的時間差有兩中可能。一種中從較小的時間點正向 到 較大的時間點之間的差值。另一種是從較大的時間點 到 較小的時間點之間的差值。
題目雖然是以24小時為標準的,但是這裡我以12小時制舉例說明。例如1點和3點之間的時間差,可以是2小時,也可以是10小時(從3點到1點)。
儘管存在上面的這中情況,計算時仍然只計算一種時間差,因為這兩個時間差加起來正好是一整天,即24*60分鐘。所以最小時間差dif
f=mi
n(di
ff,24
∗60−d
iff)
diff = min(diff, 24*60-diff)
diff=m
in(d
iff,
24∗6
0−di
ff)
class
solution
else
diff=
min(diff,24*
60-diff);if
(diffif(min_diff==0)
return min_diff;}}
return min_diff;}}
;
LeetCode539 最小時間差
題目描述 給定乙個 24 小時制 小時 分鐘 hh mm 的時間列表,找出列表中任意兩個時間的最小時間差並以分鐘數表示。示例 1 輸入 timepoints 23 59 00 00 輸出 1 示例 2 輸入 timepoints 00 00 23 59 00 00 輸出 0 解題思路 本題主要分為三...
539 最小時間差
給定乙個 24 小時制 小時 分鐘 hh mm 的時間列表,找出列表中任意兩個時間的最小時間差並以分鐘數表示。鴿巢原理優化 資料規模大於24 60 1440時,直接返回0 import j a.util.collections import j a.util.list class solution ...
leetcode訪問所有點的最小時間 1266
平面上有 n 個點,點的位置用整數座標表示 points i xi,yi 請你計算訪問所有這些點需要的最小時間 以秒為單位 你可以按照下面的規則在平面上移動 每一秒沿水平或者豎直方向移動乙個單位長度,或者跨過對角線 可以看作在一秒內向水平和豎直方向各移動乙個單位長度 必須按照陣列 現的順序來訪問這些...