Skip to content

Commit bb7ed26

Browse files
solves maximum average subarray I
1 parent e561589 commit bb7ed26

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@
166166
| 628 | [Maximum Product of Three Numbers](https://leetcode.com/problems/maximum-product-of-three-numbers) | [![Java](assets/java.png)](src/MaximumProductOfThreeNumbers.java) [![Python](assets/python.png)](python/maximum_product_of_three_numbers.py) |
167167
| 633 | [Sum Square Numbers](https://leetcode.com/problems/sum-of-square-numbers) | [![Java](assets/java.png)](src/SumOfSquareNumbers.java) [![Python](assets/python.png)](python/sum_of_squares_numbers.py) |
168168
| 637 | [Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree) | |
169-
| 643 | [Maximum Average SubArray I](https://leetcode.com/problems/maximum-average-subarray-i) | |
169+
| 643 | [Maximum Average SubArray I](https://leetcode.com/problems/maximum-average-subarray-i) | [![Java](assets/java.png)](src/MaximumAverageSubArrayI.java) [![Python](assets/python.png)](python/maximum_average_subarray_I.py) |
170170
| 645 | [Set Mismatch](https://leetcode.com/problems/set-mismatch) | |
171171
| 653 | [Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst) | |
172172
| 657 | [Robot Return to Origin](https://leetcode.com/problems/robot-return-to-origin) | |

Diff for: python/maximum_average_subarray_I.py

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from typing import List
2+
3+
4+
class Solution:
5+
def findMaxAverage(self, nums: List[int], k: int) -> float:
6+
moving_sum = sum(nums[i] for i in range(k))
7+
result = moving_sum
8+
for i in range(len(nums) - k):
9+
moving_sum += nums[k + i] - nums[i]
10+
result = max(result, moving_sum)
11+
return result / k

Diff for: src/MaximumAverageSubArrayI.java

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
public class MaximumAverageSubArrayI {
2+
public double findMaxAverage(int[] numbers, int k) {
3+
long sum = 0;
4+
for (int i = 0 ; i < k ; i++) {
5+
sum += numbers[i];
6+
}
7+
double maxSum = sum;
8+
for (int index = 0 ; index < numbers.length - k ; index++) {
9+
sum += numbers[index + k] - numbers[index];
10+
maxSum = Math.max(maxSum, sum);
11+
}
12+
return maxSum / k;
13+
}
14+
}

0 commit comments

Comments
 (0)