Maximum Average Subarray I - Array - Easy - LeetCode
💻 coding

Maximum Average Subarray I - Array - Easy - LeetCode

1 min read 127 words
1 min read
ShareWhatsAppPost on X
  • 1The task is to find the maximum average of a contiguous subarray of length k from a given array of integers.
  • 2The solution uses a sliding window approach to efficiently calculate the maximum sum of the subarrays.
  • 3The time complexity of the algorithm is O(n) and the space complexity is O(k).

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The task is to find the maximum average of a contiguous subarray of length k from a given array of integers."

Maximum Average Subarray I - Array - Easy - LeetCode

Given an array consisting of n integers, find the contiguous subarray of given length k that has the maximum average value. And you need to output the maximum average value.

Example 1:

Input: [1,12,-5,-6,50,3], k = 4 Output: 12.75 Explanation: Maximum average is (12-5-6+50)/4 = 51/4 = 12.75

Note:

1 <= k <= n <= 30,000. Elements of the given array will be in the range [-10,000, 10,000].

public class Solution {
 public double FindMaxAverage(int[] nums, int k) {
 if(nums.Length<k){
 return 0;
 }
 
 int sum = 0; 
 //sum of first k nums in sliding window
 for(int i=0;i<k;i++){
 sum+=nums[i];
 }
 int max = sum;
 //calculate maximum sum window
 for(int i=1;i<nums.Length-k+1;i++){
 sum-=nums[i-1];
 sum+=nums[i+k-1];
 if(max<sum){
 max = sum;
 }
 }
 
 return (double)max/k;
 }
}

Time Complexity: O(n)

Space Complexity: O(k)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 26 September 2020 · 1 min read · 127 words

Part of AskGif Blog · coding

You might also like