1. 问题
一、n 项活动申请使用同一个礼堂,每项活动有一个开始时间和一个截 止时间。如果任何两个活动不能同时举行,问如何选择这些活动,从而使得被安排的活动数量达到最多。
二、给你一个空间,告诉你这个空间的最大储存空间,告诉你一系列物品且知道每件物品的价值和占用空间,每件物品只能取一遍,问这个这个存储空间存放的东西价值和最大是多少。
2. 解析
一、把活动按照截止时间进行升序排序,然后从前往后遍历,只要该活动与前面的活动没有结合的就可以选入。
二、0/1背包问题
3. 设计
- 分析
一、O(n)
二、O(nlogn) - 源码
github:
bag
greedy