第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

算法題:木桶中盛最多的水

標(biāo)簽:
算法

题目描述:

给定n个非负整数a1 a2…, an,其中每一个代表坐标(i, ai)上的一个点。画n条垂直线,使直线i的两个端点分别为(i, ai)和(i, 0),找出两条直线作为木板,与x轴的平面一起构成一个木桶,使木桶中含有最多的水。

题目举例:

输入:[1,8,6,2,5,4,8,3,7]
输出: 49

图片描述

解答办法:

木桶原理,就是木桶中盛的水的多少,受较短的木板所限制。
所以我们取两个指针,一个在数组的开头,一个在数组的末尾,组成了行长度。然后,我们维护一个变量来存储到目前为止获得的最大面积。在每一步中,我们找出它们之间形成的区域,更新这个最大面积,并将指针指向较短的线的另一端移动一步。

代码实现:

class Solution {
    public int maxArea(int[] height) {
        int l=0;
        int r= height.length-1;
        
        int result = 0;
        
        while(l<r){
            result = Math.max(result, Math.min(height[l],height[r])*(r-l));
            
            if(height[l]<height[r]){
                l++;
            }else{
                r--;
            }
        }
        
        return result;
            
    }
}
點擊查看更多內(nèi)容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消