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

    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.

       /*
        假如a[left]<a[right],则0-1,0-2,...,0-5都比0-6小,故left++
        假如a[left]>a[right],则1-6,2-6,...,5-6都比0-6小,故right--
         */
        /*
        O(n^2)
        public int maxArea(int[] height){
            int max = Integer.MIN_VALUE;
            int temp = 0;
            for (int i=0;i<height.length;i++){
                for (int j=height.length-1;j>i;j--){
                    temp = (height[i]>height[j]?height[j]:height[i])*(j-i);
                    if (temp>max){
                        max = temp;
                    }
                }
            }
            return max;
        }
        */
        public int maxArea(int[] height){
            int max = Integer.MIN_VALUE;
            int left = 0;
            int right = height.length-1;
            while (left<right){
                max = Math.max(max,Math.min(height[left],height[right])*(right-left));
                if (height[left]<height[right]){
                    left++;
                }
                else{
                    right--;
                }
            }
            return max;
        }
    
  • 相关阅读:
    Html中常用的属性
    vue-页面回退
    vue-watch
    html
    Html-列表
    vue项目中px自动转换为rem
    vuex使用
    localStorage的使用
    slot
    模糊查询
  • 原文地址:https://www.cnblogs.com/bingo2-here/p/7507558.html
Copyright © 2011-2022 走看看