From 4b297be824f5ca157a5e3f70cdd22b4f8c570155 Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Mon, 12 Aug 2024 16:56:12 +0200 Subject: [PATCH] =?UTF-8?q?java:=20add=20=C2=AB643.=20Maximum=20Average=20?= =?UTF-8?q?Subarray=20I=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Matej Focko --- java/maximum-average-subarray-i.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 java/maximum-average-subarray-i.java diff --git a/java/maximum-average-subarray-i.java b/java/maximum-average-subarray-i.java new file mode 100644 index 0000000..602017e --- /dev/null +++ b/java/maximum-average-subarray-i.java @@ -0,0 +1,21 @@ +class Solution { + private long sumFirst(int[] nums, int k) { + long sum = 0; + for (var i = 0; i < k; ++i) { + sum += nums[i]; + } + return sum; + } + + public double findMaxAverage(int[] nums, int k) { + var runningSum = sumFirst(nums, k); + var foundMax = runningSum; + + for (var i = k; i < nums.length; ++i) { + runningSum += nums[i] - nums[i - k]; + foundMax = Math.max(foundMax, runningSum); + } + + return (double) foundMax / k; + } +}