11. 盛最多水的容器/C++

這一題最簡單的方法就雙重for循環,但是時間複雜度太高。 可以很容易的想到,要求的值其實是min(height[i],height[j])*(j-i),這裏涉及3個變量:兩端的長度,以及底邊的長度j-i。兩端距離得越遠,所得的面積就可能越大。 因此可以先在兩端取兩個指針,這樣底邊就達到了最大值,然後再考量兩端的邊長。然後指針再向內部移動。 具體的就是讓指向兩邊中最短邊的指針向內移動,如此新的面積才
相關文章
相關標籤/搜索