diff options
| author | crupest <crupest@outlook.com> | 2020-07-10 23:42:08 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2020-07-10 23:42:08 +0800 | 
| commit | 200e723d8e6daf7f8318e363cc96843d7807cbe5 (patch) | |
| tree | 732e5cbe1b343ce001d1f25db2ceaf6fb81e5d71 /works/solutions/cpp | |
| parent | 73e72af428db35dd3fb6cfef4b46185d18688db5 (diff) | |
| download | crupest-200e723d8e6daf7f8318e363cc96843d7807cbe5.tar.gz crupest-200e723d8e6daf7f8318e363cc96843d7807cbe5.tar.bz2 crupest-200e723d8e6daf7f8318e363cc96843d7807cbe5.zip  | |
import(solutions): Add problem 1343.
Diffstat (limited to 'works/solutions/cpp')
| -rw-r--r-- | works/solutions/cpp/1343.cpp | 40 | 
1 files changed, 40 insertions, 0 deletions
diff --git a/works/solutions/cpp/1343.cpp b/works/solutions/cpp/1343.cpp new file mode 100644 index 0000000..24bb762 --- /dev/null +++ b/works/solutions/cpp/1343.cpp @@ -0,0 +1,40 @@ +#include <vector> + +using std::vector; + +class Solution +{ +public: +    int numOfSubarrays(vector<int> &arr, int k, int threshold) +    { +        const auto end = arr.cend(); +        auto iter = arr.cbegin(); +        auto last_iter = arr.cbegin(); + +        double sum = 0; + +        int result = 0; + +        for (int i = 0; i < k; i++) +        { +            sum += *iter++; +        } + +        while (iter != end) +        { +            if (sum / k >= threshold) +            { +                result++; +            } +            sum -= *last_iter++; +            sum += *iter++; +        } + +        if (sum / k >= threshold) +        { +            result++; +        } + +        return result; +    } +};  | 
