这道题说实话我看懂了一半,害,始终还是只菜鸟
代码如下
package bad;
public class Average {
public double findMaxAverage(int[] nums,int k){
int[] sum=new int[nums.length];//new length;
sum[0]=nums[0];
for(int i=1;i<nums.length;i++)
sum[i]=sum[i-1]+nums[i];//for example 10=1+2+3+4,10=6+4
double res=sum[k-1]*1.0/k;
for(int i=k;i<nums.length;i++){
res=Math.max(res,(sum[i]-sum[i-k])*1.0/k);
}
return res;
}
public static void main(String[] args){
Average d=new Average();
int[] nums={1,12,-5,-6,50,3};
int k=4;
d.findMaxAverage(nums,k);
System.out.println(d.findMaxAverage(nums,k));
}
}