网站开发转码手机,深圳龙岗网络,网站策划书内容不包括什么,北京手机网站leetcode链接
给定一个长度为 n 的整数数组 height 。有 n 条垂线#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
说明#xff1a;你不能倾…leetcode链接
给定一个长度为 n 的整数数组 height 。有 n 条垂线第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
说明你不能倾斜容器。
示例 1 输入[1,8,6,2,5,4,8,3,7] 输出49 解释图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下容器能够容纳水表示为蓝色部分的最大值为 49。
示例 2
输入height [1,1] 输出1
提示n height.length
2 n 10^5
0 height[i] 10^4thought:用双指针判断由于容纳的水代表他的积因此可以用长度最小值*宽。使用一个值作为最大值来进行比较。class Solution {public int maxArea(int[] height) {int max 0;int current 0;for (int left 0,right height.length-1;leftright ;){current Math.min(height[right],height[left])*(right-left);max Math.max(max,current);if(height[left]height[right]){left;}else{right--;}}return max;}
}python:
class Solution:def maxArea(self, height: List[int]) - int:maxValue 0left ,right 0,len(height)-1while left right:current min(height[left],height[right]) * (right-left)maxValue max(maxValue,current)if height[left] height[right]:left 1else:right - 1return maxValue