2ポインターアルゴリズム:最も多くの水を保持するコンテナー

から:leecode

n個の非負の整数a1、a2、...、anが与えられ、各数値は座標の点(i、ai)を表します。座標にn本の垂直線を描画します。垂直線iの2つの端点は(i、ai)と(i、0)です。2本の線を見つけ、x軸でそれらが形成するコンテナが最も多くの水を保持できるようにします。

注:コンテナーを傾けることはできず、nの値は2以上です。

 

 

public  class Solution {
     public  int maxArea(int [] height){
         int l = 0、r = height.length-1 ;
        int ans = 0 ;
        while(l < r){
             int area = Math.min(height [l]、height [r])*(r- l);
            ans = Math.max(ans、area);
            if(height [l] <= height [r]){
                 ++ l;
            }
            {
                 - R。
            }
        }
        ansを返します。
    }
}

 

おすすめ

転載: www.cnblogs.com/25miao/p/12723773.html