華為OD機(jī)試-- 最少面試官數(shù)

題目
某公司組織一場公開招聘活動,假設(shè)由于人數(shù)和場地的限制,每人每次面試的時長不等,并已經(jīng)安排給定,用(S1,E1)、 (S2,E2)、 (Sj,Ej)…(Si < Ei,均為非負(fù)整數(shù))表示每場面試的開始和結(jié)束時間。
面試采用一對一的方式,即一名面試官同時只能面試一名應(yīng)試者,一名面試官完成一次面試后可以立即進(jìn)行下一場面試,且每個面試官的面試人次不超過 m。
為了支撐招聘活動高效順利進(jìn)行,請你計(jì)算至少需要多少名面試官。
輸入描述
輸入的第一行為面試官的最多面試人次 m,第二行為當(dāng)天總的面試場次 n,
接下來的 n 行為每場面試的起始時間和結(jié)束時間,起始時間和結(jié)束時間用空格分隔。
其中, 1 <= n, m <= 500
輸出描
輸出一個整數(shù),表示至少需要的面試官數(shù)量。
示例 1? ?輸入輸出示例僅供調(diào)試,后臺判題數(shù)據(jù)一般不包含示例
輸入
2
5
1 2
2 3
3 4
4 5
5 6
輸出
3
說明
總共有 5 場面試,且面試時間都不重疊,但每個面試官最多只能面試 2 人次,所以需要 3 名面試官。
示例2
輸入
3
3
1 2
2 3
3 4
輸出
1
說明
總共有3場面試,面試時間都不重疊,每個面試官最多能面試3人次,所以只需要1名面試官。
示例3
輸入
3
3
8 35
5 10
1 3
輸出
2
說明
總共有3場面試,[5,10]和[8,35]有重疊,所以至少需要2名面試官。
思路
1:先按照每個面試者的結(jié)束時間來排序,維護(hù)當(dāng)前每次面試的結(jié)束時間,然后當(dāng)一個新的時間安排出現(xiàn)的時候,只需要判斷一下是否需要新的一個面試官。
Java 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/130785760
Python實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/128356343
C++ 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/127229146
JavaScript實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/130785746
C實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131711779