做网站能自己找服务器吗,广告设计创意,行业类网站应如何建设,关于古风的网站建设项目目录 1.题目2.答案3.提交结果截图 链接#xff1a; 盛最多水的容器 1.题目
给定一个长度为 n 的整数数组 height 。有 n 条垂线#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水… 目录 1.题目2.答案3.提交结果截图 链接 盛最多水的容器 1.题目
给定一个长度为 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.length2 n 1050 height[i] 10^4 2.答案
class Solution {public int maxArea(int[] height) {int left 0;int leftIndex 0;int right height.length - 1;int rightIndex height.length - 1;while (left right) {int oldArea Math.min(height[leftIndex], height[rightIndex]) * (rightIndex - leftIndex);int newLeftArea Math.min(height[left 1], height[right]) * (right - (left 1));int newRightArea Math.min(height[left], height[right - 1]) * ((right - 1) - left);if (newLeftArea oldArea) {leftIndex left;rightIndex right;continue;}if (newRightArea oldArea) {leftIndex left;rightIndex --right;continue;}// 判断移动左指针还是右指针if (height[left] height[right]) {left;} else {right--;}}return Math.min(height[leftIndex], height[rightIndex]) * (rightIndex - leftIndex);}
}3.提交结果截图 整理完毕完结撒花~