zoukankan      html  css  js  c++  java
  • leetcode--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.

    public class Solution {
    	/**
    	 * The algorithm is simple. We use two pointers to calculate the max area.
    	 * @param height -int array,
    	 * @return int -the max area
    	 * @author Averill Zheng
    	 * @version 2014-06-21
    	 * @since JDK 1.7
    	 */ 
        public int maxArea(int[] height) {
           int max = 0;
    		int start = 0, end = height.length - 1;
    		while(start < end){
    			int temp = Math.min(height[start], height[end]) * (end - start);
    			max = (max < temp) ? temp : max;
    			if(height[start] <= height[end])
    				++start;
    			else
    				--end;
    		}		
    		return max;
        }
    }
    

      

  • 相关阅读:
    字符串String
    冒泡排序、二分查找法
    数组习题
    数组
    附加习题
    编写Java程序,应用for循环打印菱形、三角形
    JAVA的语法基础4
    3.20 每日一题题解
    3.19 每日一题题解
    3.18 每日一题题解
  • 原文地址:https://www.cnblogs.com/averillzheng/p/3801745.html
Copyright © 2011-2022 走看看