排序+貪心,使用結構體記錄活動的開始和結束時間,調用qsort()函數進行快速排序
將所有活動按結束時間從小到大排序,然後遍歷所有活動
為使能安排的活動個數最多,每次應貪心地選擇結束時間最早的活動
這樣可使剩下的空余時間最多,也就能安排最多的活動
具體可用壹個變量end記錄正在進行的活動的結束時間
遍歷排序後的活動,只要當前活動的開始時間大於end
即可認為該活動的時間不會與上壹活動沖突,可以安排新活動了
那麽可安排的活動個數cnt計數+1,並更新end為當前活動的結束時間,最終cnt為所求
具體C代碼和運行結果如下所示:
輸出符合樣例,望采納~
附源碼鏈接:最多的活動安排