单选题

下面 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(n log(n))

D

O(n2)

赣ICP备20007335号-2