思路:
贪心。
实现:
1 class Solution 2 { 3 public: 4 int minimumEffort(vector<vector<int>>& tasks) 5 { 6 int n = tasks.size(), sum = 0; 7 for (int i = 0; i < n; i++) 8 { 9 sum += tasks[i][0]; 10 } 11 sort(tasks.begin(), tasks.end(), 12 [](const vector<int>& a, const vector<int>& b) { return a[1] - a[0] > b[1] - b[0]; }); 13 int res = sum; 14 for (int i = 0; i < n; i++) 15 { 16 if (sum < tasks[i][1]) { res += tasks[i][1] - sum; sum = tasks[i][1]; } 17 sum -= tasks[i][0]; 18 } 19 return res; 20 } 21 };