给定n个非负整数,表示水库隔板的高度,选出两个,求最大的容器面积
两个指针,从两头往中间移动,每次移动较小的数值,求最大的积
int FindMaxWater(int *IA, int len)
{
int i=0,j=len-1;
int ret = 0;
while(i < j)
{
ret = max(ret, (j-i) * min(IA[i], IA[j]));
if(IA[i] <= IA[j])
{
i++;
}
else
{
j--;
}
}
return ret;
}
int main()
{
int IA[] = {1,8,6,2,5,4,8,3,7};
int ret = FindMaxWater(IA, 9);
printf("ret = %d \n", ret);
}