LeetCode 算法刷题(11)

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.

看题看了半天,翻译了半天才明白~

给一组非负整数 a1,a2,...,an,每一个代表坐标中的一个点(coordinate 坐标,ps我一直以为是合作协作),在坐标系中画n条垂直于x轴的线段,定点为(iai), (i, 0),找到两条线,这两条先线与x轴围城一个水桶,这个水桶装水最多。

简单来说就是,


int[] height = {10, 1, 2, 3, 4, 5, 6, 7, 11};
public int maxArea(int[] height) {
        int min_i = 1;
        int max_i = height.length;

        int max_area = 0;

        int temp_area = 0;

        while(min_i<max_i){

            temp_area = (max_i-min_i)*(height[min_i-1]<height[max_i-1]?height[min_i-1]:height[max_i-1]);

            if(max_area<temp_area){
                max_area = temp_area;
            }

            if(height[min_i-1]<height[max_i-1]){
                min_i++;
            }else{
                max_i--;
            }

        }

        return max_area;
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值