描述
給出飛機的起飛和降落時間的串列,用序列 interval 表示. 請計算出天上同時最多有多少架飛機?
說明
如果多架飛機降落和起飛在同一時刻,我們認為降落有優先權,
樣例
- 樣例 1:
輸入: [(1, 10), (2, 3), (5, 8), (4, 7)]
輸出: 3
解釋:
第一架飛機在1時刻起飛, 10時刻降落.
第二架飛機在2時刻起飛, 3時刻降落.
第三架飛機在5時刻起飛, 8時刻降落.
第四架飛機在4時刻起飛, 7時刻降落.
在5時刻到6時刻之間, 天空中有三架飛機.
- 樣例 2:
輸入: [(1, 2), (2, 3), (3, 4)]
輸出: 1
解釋: 降落優先于起飛.
決議
class Solution:
def countOfAirplanes(self, airplanes):
# Write your code here
room=[]
#加入開始時間和結束時間,1是房間+1,-1是房間-1
for i in airplanes:
room.append((i.start,1))
room.append((i.end,-1))
tmp = 0
ans = 0
#排序
room=sorted(room)
#掃描一遍
for idx, cost in room:
tmp += cost
ans = max(ans,tmp)
return ans
運行結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/11613.html
標籤:其他
下一篇:selenium 知網爪巴蟲
