您的位置:首页 > 其它

lintcode——maximum average subarray

2017-03-21 10:14 337 查看
Given an array with positive and negative numbers, find the [code]maximum average subarray
which length should be greater or
equal to given length
k
.

[/code]ExampleGiven nums =
[1, 12, -5, -6, 50, 3]
, k =
3

Return
15.667
// (-6 + 50 + 3) / 3 = 15.667

void maxAverage(int nums[],int k,int n)
{
float max,c_max,t_max;
for(int i=0;i<=n-k;i++)
{
for(int j=i;j<i+k;j++)
{
c_max+=nums[j];
}
if(i==0)
max=t_max=c_max;
t_max=c_max;
if(t_max>max)
{
max=t_max;
}
c_max=0;
}
float average=max/k;
printf("maxaverage of subarray is %.5f\n",average);
}

void main()
{
int n;
printf("enter size:\n");
scanf("%d",&n);
int *arr=malloc(n*sizeof(int));
printf("enter elems:\n");
for(int i=0;i<n;i++)
scanf("%d",&arr[i]);
int k;
printf("enter k:\n");
scanf("%d",&k);
maxAverage(arr,k,n);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: