container with most water(12.6)

题意:(i,ai)二维坐标上的一组数组。给出这么一个数组,计算出任意两个数据能够组成的最大的面积。
思路:短板原理。维护两个指针,一前一后,计算面积。
代码:

package com.ContainerWithMostWater;

public class CalWater {
    public int calWater(int[] heights) {
        int low = 0 ; 
        int high = heights.length -1;
        int area = 0;
        int maxarea = 0;
        while (low < high) {
            area = Math.min(heights[high], heights[low]) * (high - low);
            maxarea = Math.max(area, maxarea);
            if(heights[low] < heights[high])    low++;
            else    
                high --;
        }
        return maxarea;
    }
    public static void main(String[] args) {
         int[] heights = {2,4,1,3,5};
             System.out.println(new CalWater().calWater(heights));

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值