应用场景:已知各个活动开始与结束时间,判断最多可以参加几个活动
核心代码:
//a[0][i]表示第i个活动开始时间,a[1][i]为结束时间
//a已经按照**结束时间**增序排序
int x = 1;
int j;
for (i = 2; i <=n; ++i) {
if (a[0][i] >=a[1][j]) {//第i个活动开始时间是否大于上一个活动j的结束时间
x++;
j = i //更新上一个活动j
}
前一个活动在k时完成,那么下一个活动应该是k之后开始的最早结束的活动。