diff options
Diffstat (limited to 'other/earliest_possible_full_bloom.cpp')
-rw-r--r-- | other/earliest_possible_full_bloom.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/other/earliest_possible_full_bloom.cpp b/other/earliest_possible_full_bloom.cpp new file mode 100644 index 0000000..f990e62 --- /dev/null +++ b/other/earliest_possible_full_bloom.cpp @@ -0,0 +1,26 @@ +#include "leetcode.h" + +class Solution { +public: + int earliestFullBloom(vector<int> &plantTime, vector<int> &growTime) { + int n = plantTime.size(); + vector<pair<int, int>> times(n); + for (int i = 0; i < n; i++) { + times[i].first = -growTime[i]; + times[i].second = plantTime[i]; + } + sort(times.begin(), times.end()); + int total = 0, curr = 0; + for (int i = 0; i < n; i++) { + total = max(total, curr + times[i].second - times[i].first); + curr += times[i].second; + } + return total; + } +}; + +int main() { + Solution obj; + vector<int> plantTime = {1, 4, 3}, growTime = {2, 3, 1}; + cout << obj.earliestFullBloom(plantTime, growTime); +} |