From 185ef9fcb0e59f13e9ee0ccb261693cdaddebab0 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 23 Feb 2021 21:07:19 +0800 Subject: import(solutions): Move leetcode solutions to subdir. --- works/solutions/leetcode/cpp/495.cpp | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 works/solutions/leetcode/cpp/495.cpp (limited to 'works/solutions/leetcode/cpp/495.cpp') diff --git a/works/solutions/leetcode/cpp/495.cpp b/works/solutions/leetcode/cpp/495.cpp new file mode 100644 index 0000000..c940b0b --- /dev/null +++ b/works/solutions/leetcode/cpp/495.cpp @@ -0,0 +1,37 @@ +#include + +using std::vector; + +class Solution +{ +public: + int findPoisonedDuration(vector &timeSeries, int duration) + { + if (timeSeries.empty()) + return 0; + + int total_time = 0; + + int start_time = timeSeries.front(); + int expected_end_time = start_time + duration; + + for (auto iter = timeSeries.cbegin() + 1; iter != timeSeries.cend(); ++iter) + { + const auto this_time = *iter; + if (this_time <= expected_end_time) + { + expected_end_time = this_time + duration; + } + else + { + total_time += expected_end_time - start_time; + start_time = this_time; + expected_end_time = this_time + duration; + } + } + + total_time += expected_end_time - start_time; + + return total_time; + } +}; \ No newline at end of file -- cgit v1.2.3