diff options
author | jack <[email protected]> | 2024-06-14 13:13:15 -0600 |
---|---|---|
committer | jack <[email protected]> | 2024-06-14 13:13:15 -0600 |
commit | d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa (patch) | |
tree | 96df922dae2a5073d9a50ea70c7aae6aa37e3ebe /min_avg_diff.cpp | |
download | leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.tar.gz leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.zip |
initial
Diffstat (limited to 'min_avg_diff.cpp')
-rw-r--r-- | min_avg_diff.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/min_avg_diff.cpp b/min_avg_diff.cpp new file mode 100644 index 0000000..4bbc2b1 --- /dev/null +++ b/min_avg_diff.cpp @@ -0,0 +1,27 @@ +#include "leetcode.h" + +class Solution { +public: + int minimumAverageDifference(vector<int> &nums) { + long i = 0, j = 0, m = LONG_MAX, k, d; + long pfx = 0, sfx = accumulate(nums.begin(), nums.end(), 0L); + for (int n : nums) { + pfx += n; + sfx -= n; + j += 1; + k = nums.size() - j; + d = abs(pfx / j - sfx / (k ? k : 1)); + if (d < m) { + m = d; + i = j - 1; + } + } + return i; + } +}; + +int main() { + Solution obj; + vector<int> nums = {2, 5, 3, 9, 5, 3}; + cout << obj.minimumAverageDifference(nums); +} |