单选题

下面 schedule 函数的时间复杂度为(   )。

#include <algorithm>
using namespace std;
struct activity {
	int id, start, end;
};
bool compare(activity a, activity b) {
	return a.end < b.end;
}
int schedule(int n, activity * p) {
	sort(p, p + n, compare);
	int cnt = 0, end = 0;
	for (int i = 0; i < n; i++) {
		if (p[i].start >= end) {
			end = p[i].end;
			cnt++;
		}
	}
	return cnt;
}
A

O(n)

B

O(log(n))

C

O(nlog(n))

D

O(n2)

赣ICP备20007335号-2