zoukankan      html  css  js  c++  java
  • Algorithm——Container With Most Water

    Q:

    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

    A:

    JAVASCRIPT(这是log(n^2)的方法,还有很大的优化区间)

    /**
     * @param {number[]} height
     * @return {number}
     */
    var maxArea = function(numArr) {
        var h = '', w = '', tmp = 0, max = 0;
        for (var m = 0; m < numArr.length - 1; m++) {
            for (var n = m + 1; n < numArr.length; n++) {
                h = Math.min(numArr[m], numArr[n]);
                w = n - m;
                tmp = h * w;
    
                if (max < tmp) {
                    max = tmp;
                }          
            }
        }
    
        return max;         
    };

     JAVA(这是log(n)的方法)

    /**
     * Container With Most Water
     * 盛最多水的容器
    */
    
    public class Solution {
        public int maxArea(int[] height) {
            int maxarea = 0, l = 0, r = height.length - 1;
            while (l < r) {
                maxarea = Math.max(maxarea, Math.min(height[l], height[r]) * (r - l));
                if (height[l] < height[r])
                    l++;
                else
                    r--;
            }
            return maxarea;
        }
    }
    
    
  • 相关阅读:
    RUST实践.md
    redis.md
    opencvrust.md
    aws rds can't connect to mysql server on 'xx'
    Foundation ActionScript 3.0 With Flash CS3 And Flex
    Foundation Flash Applications for Mobile Devices
    Flash Mobile Developing Android and iOS Applications
    Flash Game Development by Example
    Actionscript 3.0 迁移指南
    在SWT中非UI线程控制界面
  • 原文地址:https://www.cnblogs.com/bbcfive/p/11027874.html
Copyright © 2011-2022 走看看