Java: Find the total number of continuous subarrays in a specified array of integers
Java Basic: Exercise-203 with Solution
Max Average of Subarray
Write a Java program to find the contiguous subarray of given length k which has the maximum average value of a given array of integers. Display the maximum average value.
Example:
Original Array: [4, 2, 3, 3, 7, 2, 4]
Value of k: 3
Maximum average value : 4.333333333333333
Visual Presentation:
Sample Solution:
Java Code:
import java.util.*;
// Main class named "Main"
public class Main {
// Main method, the entry point of the program
public static void main(String[] args) {
// Sample input array and value of k for finding maximum average
int[] nums = {4, 2, 3, 3, 7, 2, 4};
int k = 3;
// Display the original array
System.out.print("Original Array: " + Arrays.toString(nums));
// Display the value of k
System.out.print("\nValue of k: " + k);
// Display the maximum average value
System.out.print("\nMaximum average value: " + find_max_average(nums, k));
}
// Function to find the maximum average of subarrays of length k
public static double find_max_average(int[] nums, int k) {
int sum = 0;
// Calculate the initial sum of the first k elements
for (int i = 0; i < k; i++) {
sum += nums[i];
}
int max_val = sum;
// Iterate through the array to find the maximum average
for (int i = k; i < nums.length; i++) {
// Update the sum by removing the leftmost element and adding the current element
sum = sum - nums[i - k] + nums[i];
// Update the maximum value if the current sum is greater
max_val = Math.max(max_val, sum);
}
// Return the maximum average value
return (double) max_val / k;
}
}
Sample Output:
Original Array: [4, 2, 3, 3, 7, 2, 4] Value of k: 3 Maximum average value: 4.333333333333333
Flowchart:
Java Code Editor:
Company: Google
Contribute your code and comments through Disqus.
Previous: Write a Java program to find the total number of continuous subarrays in a given array of integers whose sum equals to an given integer.
Next: Write a Java program to compute xn % y where x, y and n are all 32bit integers.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/java-exercises/basic/java-basic-exercise-203.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics