aboutsummaryrefslogtreecommitdiff
path: root/min_avg_diff.cpp
diff options
context:
space:
mode:
authorjack <[email protected]>2024-06-14 13:13:15 -0600
committerjack <[email protected]>2024-06-14 13:13:15 -0600
commitd343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa (patch)
tree96df922dae2a5073d9a50ea70c7aae6aa37e3ebe /min_avg_diff.cpp
downloadleetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.tar.gz
leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.zip
initial
Diffstat (limited to 'min_avg_diff.cpp')
-rw-r--r--min_avg_diff.cpp27
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);
+}