Leetcode 539 最小時間差 C

2021-09-19 17:34:00 字數 779 閱讀 8694

給定乙個 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 請你計算訪問所有這些點需要的最小時間 以秒為單位 你可以按照下面的規則在平面上移動 每一秒沿水平或者豎直方向移動乙個單位長度,或者跨過對角線 可以看作在一秒內向水平和豎直方向各移動乙個單位長度 必須按照陣列 現的順序來訪問這些...