貪心演算法 堆 安排會議室

2022-08-10 08:15:14 字數 1012 閱讀 5738

一些專案要占用乙個會議室宣講, 會議室不能同時容納兩個專案的宣講。

給你每乙個專案開始的時間和結束的時間(給你乙個陣列, 裡面是乙個個具體的專案),

你來安排宣講的日程, 要求會議室進行 的宣講的場次最多。

返回這個最多的宣講場次。

貪心:按照結束時間最早排序

public class bestarrange 

}//小根堆的比較器

public static class minheapcomparator implements comparator

}/**

* 可以利用按照結束時間排序的小根堆來完成,會議開始時間小於當前會議結束時間的都要忽略掉

* @param start

* @param end

* @param initstart

* @return

*/public static int bestarrangebyheap(int start, int end, int initstart)

while(meetings.size() > 0)

}return res;

}/**

* 還可以利用按照結束時間排序的陣列來完成,

* 利用arrays工具類的sort,其中傳入比較器即可

* 會議開始時間小於當前會議結束時間的都要忽略掉

* @param start

* @param end

* @param initstart

* @return

*/public static int bestarrangebyarray(int start, int end, int initstart)

//利用結束時間從小到大排序

arrays.sort(meetings, new minheapcomparator());

for(int i = 0; i < meetings.length; i++)

}return res;

}}

演算法題 安排會議室 貪心演算法的應用

題目描述 題目描述 在大公司裡,會議是很多的,開會得有場子,要場子你得先在電子流裡預訂。如果你是專案組新來的小弟,那麼恭喜你,每天搶訂會議室的任務就光榮的分給你了。老大要求你盡可能多的訂會議室,但是這些會議室之間不能有時間衝突。input input檔案中可以包括多個測試案例。t t 20 輸入檔案...

貪心演算法 會議室問題

有一堆會議,每個會議都有開始時間和結束時間,問至少需要幾個房間可以安排下這些會議?解決思路 這是個貪心類問題,每個會議都有結束時間和開始時間,可以對兩個時間分開儲存並排序,從最先開始的會議開始遍歷,只要當前會議的開始時間小於結束時間陣列中的第乙個結束時間,就需要重新開闢乙個房間。接著看下乙個會議的開...

演算法(31) 貪心(1) 會議室安排 C

會議室安排 輸入 一組會議的其實終止時間比如 7,8 8,10 9,12 10,15 就乙個會議室,如何安排會議室的利用率最高。輸出 安排會議的個數,或者是安排了哪些會議。此時返回3 7 8 8 10 10 15 思路 按結束時間排序 資料多時用小根堆 上 貪心1 會議室安排 小根堆 class p...