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
- برمجة جافا
- برمجة
- 2021-05-01
- razanmazen8711884270
الأجوبة
import java.util.*;
public class Solution {
public static void main(String[] args) {
int[] nums = {4,2,3,3,7,2,4};
int k = 3;
System.out.print("Original Array: "+Arrays.toString(nums));
System.out.print("\nValue of k: "+k);
System.out.print("\nMaximum average value: "+find_max_average(nums, k));
}
public static double find_max_average(int[] nums, int k) {
int sum = 0;
for (int i = 0; i < k; i++) {
sum += nums[i];
}
int max_val = sum;
for (int i = k; i < nums.length; i++) {
sum = sum - nums[i - k] + nums[i];
max_val = Math.max(max_val, sum);
}
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
أسئلة مشابهة
القوائم الدراسية التي ينتمي لها السؤال