摘要:最新更新請訪問棧法復雜度時間空間思路最大盛水量取決于兩邊中較短的那條邊,而且如果將較短的邊換為更短邊的話,盛水量只會變少。所以我們可以用兩個頭尾指針,計算出當前最大的盛水量后,將較短的邊向中間移,因為我們想看看能不能把較短的邊換長一點。
Container With Most Water 最新更新請訪問:https://yanjia.me/zh/2018/11/...
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.Note: You may not slant the container.
時間 O(N) 空間 O(N)
思路最大盛水量取決于兩邊中較短的那條邊,而且如果將較短的邊換為更短邊的話,盛水量只會變少。所以我們可以用兩個頭尾指針,計算出當前最大的盛水量后,將較短的邊向中間移,因為我們想看看能不能把較短的邊換長一點。這樣一直計算到左邊大于右邊為止就行了。
注意如果將較短的邊向中間移后,新的邊還更短一些,其實可以跳過,減少一些計算量
代碼public class Solution { public int maxArea(int[] height) { int left = 0, right = height.length - 1, maxArea = 0; while(left < right){ // 每次更新最大面積(盛水量) maxArea = Math.max(maxArea, Math.min(height[left], height[right]) * (right - left)); // 如果左邊較低,則將左邊向中間移一點 if(height[left] < height[right]){ left++; // 如果右邊較低,則將右邊向中間移一點 } else { right--; } } return maxArea; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64630.html
摘要:題目要求給一個數組,其中數組在下標處的值為,坐標和坐標構成一條垂直于坐標軸的直線。現任取兩條垂線和軸組成四邊形容器。當左右指針相遇時,指針假設該算法并沒有遍歷到容量最大的情況我們令容量最大時的指針為和。 題目要求:給一個數組,其中數組在下標i處的值為A[i],坐標(i,A[i])和坐標(i,0)構成一條垂直于坐標軸x的直線。現任取兩條垂線和x軸組成四邊形容器。問其中盛水量最大為多少? ...
摘要:一題目盛最多水的容器給定個非負整數,,,,每個數代表坐標中的一個點。在坐標內畫條垂直線,垂直線的兩個端點分別為和。找出其中的兩條線,使得它們與軸共同構成的容器可以容納最多的水。在此情況下,容器能夠容納水表示為藍色部分的最大值為。 一、題目 盛最多水的容器: 給定 n 個非負整數 a1,a2,...,an,每個數代表坐標中的一個點?(i,?ai) 。在坐標內畫 n 條垂直線,垂直線 i?...
摘要:我們需要找出這些線所圍成的容器,能裝最多水的水量。這道題是不能用蠻力法解決的,會超時。這個解法想法是這樣的,我們用兩個變量,指向數組的起始元素和末尾元素。首先計算這兩條線所圍成的容器面積,然后移動指向較短的線段的指針。 題目詳情 Given n non-negative integers a1, a2, ..., an, where each represents a point at...
摘要:我先通過堆棧的方法,找到一個封閉區間,該區間可以盛水,該區間的右節點可以作為下一個封閉區間的起點。思路三堆棧的聰明使用在這里,堆棧允許我們漸進的通過橫向分割而非之前傳統的縱向分割的方式來累加計算盛水量。 題目要求 Given n non-negative integers representing an elevation map where the width of each bar...
摘要:一題目描述空格分隔,逐個反轉二題目描述三題目描述當然也可以用的做,不過用雙指針更快。 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...
閱讀 2632·2021-10-14 09:47
閱讀 4909·2021-09-22 15:52
閱讀 3355·2019-08-30 15:53
閱讀 1428·2019-08-30 15:44
閱讀 669·2019-08-29 16:41
閱讀 1646·2019-08-29 16:28
閱讀 439·2019-08-29 15:23
閱讀 1618·2019-08-26 12:20