盛水最多的容器,局部最优解

import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param height int整型一维数组
* @return int整型
*/
public int maxArea (int[] height) {
// write code here
// max 盛水最多的,初始化为0
// 数组A, B
// 从A中取出第一个元素
// 遍历B,从B中取出第二个元素,B2与A1的最小值*(2-1)作为局部最优结果,与max比较,最大值作为max
// 从A中取出第二个元素,遍历B...
// 返回max
int max=0;
for(int i=0; i<height.length; i++){
int tmp = height[i];
if(tmp*(height.length-i)<=max){
continue;
}
for(int j=i+1; j<height.length;j++){
if(tmp<=height[j]){
if(tmp*(j-i)>max){
max = tmp*(j-i);
}
}else{
if(height[j]*(j-i)>max){
max = height[j]*(j-i);
}
}
}
}
return max;
}
}

浙公网安备 33010602011771号