• [LeetCode] 11. Container With Most Water


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

    The above vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water (blue section) the container can contain is 49.

    Example:

    Input: [1,8,6,2,5,4,8,3,7]
    Output: 49

    盛最多水的容器。

    给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

    说明:你不能倾斜容器。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/container-with-most-water
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    存储水量 = 宽度 * 高度 = (right - left) * Math.min(height[left], height[right])

    时间O(n)

    空间O(1)

    Java实现

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

    JavaScript实现

     1 /**
     2  * @param {number[]} height
     3  * @return {number}
     4  */
     5 var maxArea = function (height) {
     6     let res = 0;
     7     let left = 0;
     8     let right = height.length - 1;
     9     while (left < right) {
    10         res = Math.max(res, Math.min(height[left], height[right]) * (right - left));
    11         if (height[left] < height[right]) {
    12             left++;
    13         } else {
    14             right--;
    15         }
    16     }
    17     return res;
    18 };

    LeetCode 题目总结

  • 相关阅读:
    从应用到平台,云服务架构的演进过程
    从应用到平台,云服务架构的演进过程
    武汉小猫科技-工作总结(1):一图胜万言
    武汉小猫科技-工作总结(1):一图胜万言
    一个App带你学会Retrofit2.0,麻麻再也不用担心我的网络请求了!
    关于创业公司产品开发原则
    关于创业公司产品开发原则
    【Deep learning book】
    【NLP】word2vec
    【python】好书
  • 原文地址:https://www.cnblogs.com/cnoodle/p/11781368.html
Copyright © 2020-2023  润新知