LeetCode Container With Most Water

来源:互联网 发布:顿巴纵队 知乎 编辑:程序博客网 时间:2024/05/19 06:38

Description:

Given n non-negative integers a1a2, ..., an, where each represents a point at coordinate (iai). n vertical lines are drawn such that the two endpoints of line i is at (iai) 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.

Solution:

In this problem, we first assume that the whole length can get the maximum square. And then we try to reduce the scope by making the smaller height[i]/height[j] bigger.

public class Solution {public int maxArea(int[] height) {int i = 0;int j = height.length - 1;int ans = 0;for (; i < j;) {ans = Math.max(ans, Math.min(height[i], height[j]) * (j - i));if (height[i] < height[j])i++;elsej--;}return ans;}}

e

0 0
原创粉丝点击