下面活动选择 schedule 函数的时间复杂度为:
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(1)
- B. O(n)
- C. O(n log n)
- D. O(n²)
正确答案:C