Leetcode 253:Meeting Rooms II(超詳細的解法!!!)
Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si < ei)
, find the minimum number of conference rooms required.
For example,
Given [[0, 30],[5, 10],[15, 20]],
return 2.
解題思路
這個問題有一個非常簡單的處理思路,我們可以先將上述的區間在座標軸上畫好,然後通過垂直於x
軸的線從左向右移動,移動的過程中,記錄這根線和區間相交的最大交點個數,這個最大交點個數就是相交的最大區間個數。
演算法的實現上我們有一個trick
,我們遍歷intervals
中的每一項it
,然後對於左邊的座標用[it[0], 1]
表示(表示我們進入一個線段),右邊的座標用[it[1], -1]
表示(表示我們退出了一個線段),然後將這些新得到的區間加入到一個tmp
陣列中,對這個陣列排序,接著遍歷這個陣列,遍歷的過程中累加我們建立的標記位(也就是前面建立的1
和-1
)記錄累加的最大值即可。
class Solution:
def minMeetingRooms(self, intervals):
if not intervals:
return 0
tmp = sorted(x for i, j in intervals for x in [[i, 1], [j, -1]])
res, n = 0, 0
for i, v in tmp:
n += v
res = max(res, n)
return res
我將該問題的其他語言版本新增到了我的GitHub Leetcode
如有問題,希望大家指出!!!
相關文章
- [Leetcode]253. Meeting Rooms IILeetCodeOOM
- 253. Meeting Rooms IIOOM
- 【LeetCode】253. Meeting Rooms II 解題報告(C++)LeetCodeOOMC++
- LeetCode—253.會議室 II(Meeting Rooms II)——分析及程式碼(C++)LeetCodeOOMC++
- Leetcode 252. Meeting Room 253. Meeting Room IILeetCodeOOM
- LeetCode #252 - Meeting RoomsLeetCodeOOM
- [LintCode/LeetCode] Meeting RoomsLeetCodeOOM
- Leetcode 253: meeting roomLeetCodeOOM
- leetcode-252-Meeting RoomsLeetCodeOOM
- LeetCode252 Meeting RoomsLeetCodeOOM
- LeetCode 252. Meeting Rooms (Java版; Easy)LeetCodeOOMJava
- Leetcode 960:刪列造序 III(超詳細的解法!!!)LeetCode
- Leetcode 137:只出現一次的數字 II(最詳細的解法!!!)LeetCode
- Leetcode 169:求眾數(最詳細的解法!!!)LeetCode
- leetcode253——會議室 II——java實現LeetCodeJava
- Leetcode 通過率最高的困難題 N皇后 II 【回溯解法-剪枝】LeetCode
- Leetcode 167:兩數之和 II - 輸入有序陣列(最詳細解決方案!!!)LeetCode陣列
- LeetCode題解:264. 醜數 II,二叉堆,JavaScript,詳細註釋LeetCodeJavaScript
- Leetcode Meeting room問題系列 - 2LeetCodeOOM
- Leetcode Meeting room問題系列 - 1LeetCodeOOM
- 超詳細的IIS部署
- 264、醜數 II | 演算法(leetcode,附思維導圖 + 全部解法)300題演算法LeetCode
- JWT 超詳細分析JWT
- leetcode刷題之1160拼寫單詞 java題解(超詳細)LeetCodeJava
- 超詳細的 Vagrant 上手指南
- 超詳細的Eureka原始碼解析原始碼
- 超詳細的Ribbon原始碼解析原始碼
- Vue 超詳細手記Vue
- web259(超詳細)Web
- MyBatis Generator 超詳細配置MyBatis
- Vue 指令大全(超詳細)Vue
- python使用xpath(超詳細)Python
- Maven筆記---超詳細Maven筆記
- java運算子(超詳細!!!)Java
- 劍指 Offer II 091、粉刷房子 | 演算法(leetcode,附思維導圖 + 全部解法)300題演算法LeetCode
- 「leetcode」714. 買賣股票的最佳時機含手續費 超詳細講解LeetCode
- (摘)sql-索引的作用(超詳細)SQL索引
- 【超詳細】解釋BigDecimal精度的坑Decimal