成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

leetcode 11 Container With Most Water

崔曉明 / 2035人閱讀

摘要:我們需要找出這些線所圍成的容器,能裝最多水的水量。這道題是不能用蠻力法解決的,會(huì)超時(shí)。這個(gè)解法想法是這樣的,我們用兩個(gè)變量,指向數(shù)組的起始元素和末尾元素。首先計(jì)算這兩條線所圍成的容器面積,然后移動(dòng)指向較短的線段的指針。

題目詳情
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.

輸入一個(gè)數(shù)組,數(shù)組的每一個(gè)元素都代表了一條垂直的線,其中每一個(gè)元素的位置代表橫坐標(biāo),元素的值代表縱坐標(biāo)。我們需要找出這些線所圍成的“容器”,能裝最多水的水量。

想法

因?yàn)檫@是一個(gè)裝水的容器,所以并不能直接的算圍成的面積,裝水的面積取決于兩條線中較短的那條的長(zhǎng)度和兩條線之間橫坐標(biāo)的差值。

這道題是不能用蠻力法解決的,會(huì)超時(shí)T^T。

這個(gè)解法想法是這樣的,我們用兩個(gè)變量start,end指向數(shù)組的起始元素和末尾元素。首先計(jì)算這兩條線所圍成的容器面積,然后移動(dòng)指向較短的線段的指針。直到start = end。

解法
    public int maxArea(int[] height) {
        int maxArea = 0;
        int start = 0;
        int end = height.length-1;
        
        while(start < end){
            maxArea = Math.max(maxArea, Math.min(height[start], height[end])*(end-start));
            if(height[start] < height[end]) start ++;
            else end--;
        }
        
        return maxArea;
    }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70945.html

相關(guān)文章

  • LeetCode.11 盛最多水的容器(Container With Most Water)(JS

    摘要:一題目盛最多水的容器給定個(gè)非負(fù)整數(shù),,,,每個(gè)數(shù)代表坐標(biāo)中的一個(gè)點(diǎn)。在坐標(biāo)內(nèi)畫條垂直線,垂直線的兩個(gè)端點(diǎn)分別為和。找出其中的兩條線,使得它們與軸共同構(gòu)成的容器可以容納最多的水。在此情況下,容器能夠容納水表示為藍(lán)色部分的最大值為。 一、題目 盛最多水的容器: 給定 n 個(gè)非負(fù)整數(shù) a1,a2,...,an,每個(gè)數(shù)代表坐標(biāo)中的一個(gè)點(diǎn)?(i,?ai) 。在坐標(biāo)內(nèi)畫 n 條垂直線,垂直線 i?...

    muddyway 評(píng)論0 收藏0
  • [Leetcode] Container With Most Water 最大盛水容器

    摘要:最新更新請(qǐng)?jiān)L問(wèn)棧法復(fù)雜度時(shí)間空間思路最大盛水量取決于兩邊中較短的那條邊,而且如果將較短的邊換為更短邊的話,盛水量只會(huì)變少。所以我們可以用兩個(gè)頭尾指針,計(jì)算出當(dāng)前最大的盛水量后,將較短的邊向中間移,因?yàn)槲覀兿肟纯茨懿荒馨演^短的邊換長(zhǎng)一點(diǎn)。 Container With Most Water 最新更新請(qǐng)?jiān)L問(wèn):https://yanjia.me/zh/2018/11/... Given n...

    xiguadada 評(píng)論0 收藏0
  • leetcode11. Container With Most Water 盛水最多的容器

    摘要:題目要求給一個(gè)數(shù)組,其中數(shù)組在下標(biāo)處的值為,坐標(biāo)和坐標(biāo)構(gòu)成一條垂直于坐標(biāo)軸的直線?,F(xiàn)任取兩條垂線和軸組成四邊形容器。當(dāng)左右指針相遇時(shí),指針假設(shè)該算法并沒(méi)有遍歷到容量最大的情況我們令容量最大時(shí)的指針為和。 題目要求:給一個(gè)數(shù)組,其中數(shù)組在下標(biāo)i處的值為A[i],坐標(biāo)(i,A[i])和坐標(biāo)(i,0)構(gòu)成一條垂直于坐標(biāo)軸x的直線?,F(xiàn)任取兩條垂線和x軸組成四邊形容器。問(wèn)其中盛水量最大為多少? ...

    worldligang 評(píng)論0 收藏0
  • 翻轉(zhuǎn)字符串的相關(guān)題目

    摘要:一題目描述空格分隔,逐個(gè)反轉(zhuǎn)二題目描述三題目描述當(dāng)然也可以用的做,不過(guò)用雙指針更快。 LeetCode: 557. Reverse Words in a String III 一、LeetCode: 557. Reverse Words in a String III 題目描述 Given a string, you need to reverse the order of chara...

    lykops 評(píng)論0 收藏0
  • 11. Container with Most Water

    摘要:題目解答這里如果左邊的數(shù)比右邊的數(shù)小,那么這就是取這個(gè)位置時(shí)的面積最大值。因?yàn)椴还茉趺聪蜃笠苿?dòng),最大高度也還是的值,而寬只會(huì)減小。所以我們只有向右移動(dòng)才有可能遇到更大的,從而有可能產(chǎn)生更大的面積。 題目:Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (...

    Ilikewhite 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<