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

資訊專(zhuān)欄INFORMATION COLUMN

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

muddyway / 1214人閱讀

摘要:一題目盛最多水的容器給定個(gè)非負(fù)整數(shù),,,,每個(gè)數(shù)代表坐標(biāo)中的一個(gè)點(diǎn)。在坐標(biāo)內(nèi)畫(huà)條垂直線(xiàn),垂直線(xiàn)的兩個(gè)端點(diǎn)分別為和。找出其中的兩條線(xià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)畫(huà) n 條垂直線(xiàn),垂直線(xiàn) i?的兩個(gè)端點(diǎn)分別為?(i,?ai) 和 (i, 0)。找出其中的兩條線(xiàn),使得它們與?x?軸共同構(gòu)成的容器可以容納最多的水。

說(shuō)明:你不能傾斜容器,且?n?的值至少為 2。

圖中垂直線(xiàn)代表輸入數(shù)組 [1,8,6,2,5,4,8,3,7]。在此情況下,容器能夠容納水(表示為藍(lán)色部分)的最大值為 49。
二、我的答案

???????首先分析一下題目,與接雨水那道題不同的是,本題所求為“找出其中的兩條線(xiàn),使得它們與?x?軸共同構(gòu)成的容器可以容納最多的水”, 也就是說(shuō)[6,7,6]這樣的數(shù)組,最多接水的兩條線(xiàn)的下標(biāo)為0和2。同時(shí)也可以看出這道題與最大值無(wú)關(guān),計(jì)算公式應(yīng)該是Math.min(height[head], height[tail]) * (tail - head),head和tail都出來(lái),雙指針不要太明顯
???????因?yàn)槊看谓铀娣e的高是兩個(gè)指針中指向的值較小的那個(gè),所以為了求最大值,我們每次向中間移動(dòng)的指針也應(yīng)該是辣一個(gè),思路理清,代碼如下

/**
 * @param {number[]} height
 * @return {number}
 */
var maxArea = function(height) {
  let tail = height.length - 1, head = 0;
  let container = 0, temp;
  while(head < tail) {
    temp = (tail - head) * Math.min(height[head], height[tail])
    container < temp ? container = temp : null
    if(height[head] < height[tail]) {
      head++
    } else {
      tail--
    }
  }
  return container
};

???????

三、優(yōu)秀答案
/**
 * @param {number[]} height
 * @return {number}
 */
var maxArea = function(height) {
  let i = 0;
  let j = height.length - 1;
  let max = 0
  while(i height[j]) {
      j--
    } else {
      i++
    }
  }
  return max
};

???????取最大值使用max = Math.max((j - i) * min), max)還是非常秀的

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

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

相關(guān)文章

  • leetcode 11 Container With Most Water

    摘要:我們需要找出這些線(xiàn)所圍成的容器,能裝最多水的水量。這道題是不能用蠻力法解決的,會(huì)超時(shí)。這個(gè)解法想法是這樣的,我們用兩個(gè)變量,指向數(shù)組的起始元素和末尾元素。首先計(jì)算這兩條線(xiàn)所圍成的容器面積,然后移動(dòng)指向較短的線(xiàn)段的指針。 題目詳情 Given n non-negative integers a1, a2, ..., an, where each represents a point at...

    崔曉明 評(píng)論0 收藏0
  • LeetCode11.盛最多水容器 JavaScript

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

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

    摘要:題目要求給一個(gè)數(shù)組,其中數(shù)組在下標(biāo)處的值為,坐標(biāo)和坐標(biāo)構(gòu)成一條垂直于坐標(biāo)軸的直線(xiàn)。現(xiàn)任取兩條垂線(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的直線(xiàn)?,F(xiàn)任取兩條垂線(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
  • 6-9月技術(shù)文章匯總

    摘要:分布式的管理和當(dāng)我在談?wù)摷軜?gòu)時(shí)我在談啥狀態(tài)碼詳解無(wú)狀態(tài)協(xié)議和請(qǐng)求支持哪些方法分層協(xié)議棧有哪些數(shù)據(jù)結(jié)構(gòu)運(yùn)用場(chǎng)景說(shuō)說(shuō)你常用的命令為什么要有包裝類(lèi)面向?qū)ο蟮奶卣魇巧妒巧队惺裁春锰幭到y(tǒng)設(shè)計(jì)工程在線(xiàn)診斷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)索引背后的數(shù)據(jù)結(jié)構(gòu)及算法原理軟技能 HTTP 【HTTP】分布式session的管理 【HTTP】Cookie和Session 【HTTP】當(dāng)我在談?wù)揜estFul架構(gòu)時(shí)我在談啥?...

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

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

0條評(píng)論

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