#3954. [GESP202403 七级 C++] 第 11 题

[GESP202403 七级 C++] 第 11 题

下面 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;
}

{{ select(1) }}

  • O(n)O(n)
  • O(log(n))O(\log(n))
  • O(nlog(n))O(n\log(n))
  • O(n2)O(n^2)