算法题

    科技2022-07-20  114

    接下来我们用C++进行编程:

    #include<iostream> #include<algorithm> using namespace std; #define N 101 int arr[N]; int dep[N]; int findMinReviewers(int arr[], int dep[], int n) { // Sort arrival and departure arrays sort(arr, arr+n); sort(dep, dep+n); int review_needed = 1, result = 1; int i = 1, j = 0; // Similar to merge in merge sort to process all events in sorted order while (i < n && j < n) { // If next event in sorted order is arrival, // increment count of reviewers needed if (arr[i] < dep[j]) { review_needed++; i++; if (review_needed > result) result = review_needed; } else { // decrement count of reviewers needed review_needed--; j++; } } return result; } int main() { int n = 0; int min_reviewer = 0; cin >> n; for(int i = 0; i < n; ++i) { cin >> arr[i]; } for(int i = 0; i < n; ++i) { cin >> dep[i]; } min_reviewer = findMinReviewers(arr,dep,n); cout << min_reviewer << endl; return 0; }
    Processed: 0.019, SQL: 8