您的位置:首页 > 大数据 > 人工智能

11. Container With Most Water

2017-04-10 03:49 411 查看
题目:

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 and n is at least 2.

链接:https://leetcode.com/problems/container-with-most-water/#/description

4/9/2017

10ms, 65%

注意第10,11行,如何更新两个指针。

1 public class Solution {
2     public int maxArea(int[] height) {
3         int i = 0, j = height.length - 1;
4         int volume = Math.min(height[i], height[j]) * (j - i);
5
6         while (i < j) {
7             if (Math.min(height[j], height[i]) * (j - i) > volume) {
8                 volume = Math.min(height[j], height[i]) * (j - i);
9             }
10             if (height[i] < height[j]) i++;
11             else j--;
12         }
13         return volume;
14     }
15 }


官方解释:https://leetcode.com/articles/container-most-water/

更多讨论:https://discuss.leetcode.com/category/19/container-with-most-water
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: