leetcode253——會議室 II——java實現
題目要求:
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20190831110311663.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNjQ1NjM2,size_16,color_FFFFFF,t_70
分析:
為了一道題目,開了一個會員,寫了一個效能垃圾但是能通過的程式碼。
我這水平好像也只能寫出這樣的程式碼了,也懶得看別人的了。
- 首先分別設定兩個陣列start和end,用來存放開始時間和結束時間;
- 然後再對start陣列和end陣列進行排序。由於我們這裡都是從小到大排即可,所以不需要重寫compare方法,直接用sort()即可;
- 設定一個優先佇列(最小堆),用來存放結束時間;
- 如果後一個的開始時間比結束時間要晚,就說明可以放在同一個會議室開會,我們就把堆頂的元素給poll出來,再將現在這個結束時間放進去,否則說明需要開闢新的會議室,不用poll當前堆頂的元素,直接把現在這個結束時間放進去;
- 遍歷結束之後,堆的大小就是所需會議室的數目。
具體程式碼如下:
class Solution {
public int minMeetingRooms(int[][] intervals) {
if(intervals == null || intervals.length == 0)
return 0;
int[] start = new int[intervals.length];
int[] end = new int [intervals.length];
for(int i = 0; i < intervals.length; i ++) {
start[i] = intervals[i][0];
System.out.println(start[i]);
end[i] = intervals[i][1];
}
Arrays.sort(start);
Arrays.sort(end);
PriorityQueue<Integer> pq = new PriorityQueue<>(end.length);
pq.add(end[0]);
for(int i = 1; i < end.length; i ++) {
if(start[i] >= pq.peek())
pq.poll();
pq.add(end[i]);
}
return pq.size();
}
}
相關文章
- 實現WebRTC群聊會議室(Mesh方案)Web
- LeetCode 253. Meeting Rooms II(會議室)LeetCodeOOM
- 高階網路會議室如何實現會議集中控制
- [LeetCode253]Meeting Rooms IILeetCodeOOM
- LeetCode—253.會議室 II(Meeting Rooms II)——分析及程式碼(C++)LeetCodeOOMC++
- Java實現-揹包問題IIJava
- [LeetCode] 252、會議室LeetCode
- 會議室多屏同步顯示
- LeetCode 252. 會議室(排序)LeetCode排序
- 【leetcode】252 會議室(陣列)LeetCode陣列
- 小型無線會議室解決方案
- [LeetCode] Meeting Rooms 會議室LeetCodeOOM
- LeetCode-Python-252. 會議室LeetCodePython
- 網路會議室解決方案系統部署
- LeetCode 252. Meeting Rooms(會議室)LeetCodeOOM
- 視訊會議的實現方式有哪些?
- 企業網路視訊會議室解決方案
- 如何實現完美會議 可立享帶你盡享輕鬆會議新主張
- Java實現多執行緒區域網聊天室Java執行緒
- 基於微軟Teams的小型會議室裝置體驗微軟
- 基於SpringBoot+STOMP協議實現的web聊天室Spring Boot協議Web
- java技術實現影片聊天室的伺服器端Java伺服器
- 內網會議室怎麼可以讓手寫同步投屏?內網
- 原生Node 實現聊天室
- 華為雲會議,輕鬆實現遠端智慧辦公
- 如何實現在服務端錄製視訊會議?服務端
- 騰訊Web前端大會 TFC2017 會議 現場紀實(上午)Web前端
- 重構 JAVA 聊天室 —— CS 模式的簡單架構實現Java模式架構
- 用Java程式碼實現一個簡單的聊天室功能Java
- laravel5.4實現實時聊天室Laravel
- 基於 Electron 做視訊會議的兩種實現方式
- IOS技術分享| 快對講2.0會議場景實現iOS
- 如何在 Web 實現支援虛擬背景的視訊會議Web
- python實現批次生成會議臺卡(pyQt5)PythonQT
- [JAVA]多人聊天室控制檯實現,服務端向所有客戶端下發訊息實現Java服務端客戶端
- 如何在技術上實現室內導航?室內地圖導航怎麼實現?地圖
- Android基於XMPP Smack openfire 開發的聊天室(一)【會議服務、聊天室列表、加入】AndroidMac
- 啟明星Exchange/outlook預定會議室終端顯示解決方案