zoukankan      html  css  js  c++  java
  • LeetCode 11

    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.

     1 /*************************************************************************
     2     > File Name: LeetCode011.c
     3     > Author: Juntaran
     4     > Mail: Jacinthmail@gmail.com
     5     > Created Time: Wed 27 Apr 2016 02:11:36 AM CST
     6  ************************************************************************/
     7  
     8 /*************************************************************************
     9 
    10     Container With Most Water
    11     
    12     Given n non-negative integers a1, a2, ..., an, 
    13     
    14     where each represents a point at coordinate (i, ai). 
    15     
    16     n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). 
    17     
    18     Find two lines, which together with x-axis forms a container, 
    19     
    20     such that the container contains the most water.
    21 
    22     Note: You may not slant the container.
    23 
    24  ************************************************************************/
    25  
    26 #include <stdio.h>
    27 
    28 int maxArea(int* height, int heightSize) {
    29     
    30     int left = 0;
    31     int right = heightSize - 1;
    32     int max = 0;
    33     
    34     while( left < right ){
    35         
    36         int water = ( right - left ) * ( height[left] < height[right] ? height[left++] : height[right--] );
    37         max = max > water ? max : water;
    38         printf("Each water is %d
    ", water);
    39     }
    40     printf("Max water is %d
    ", max);
    41     return max;
    42     
    43 }
    44 
    45 int main()
    46 {
    47     int heights[] = {4, 2, 1, 5, 6, 2, 0, 1};
    48     int size = 8;
    49     
    50     maxArea( heights, size );
    51     
    52     return 0;
    53 }
  • 相关阅读:
    领域驱动设计学习笔记(一 事件总线)
    枚举位预算 (适用于权限和拥有多种枚举值)
    Javascript闭包(狗血剧情,通俗易懂)
    Xml序列化和反序列化
    Javascript轮播 支持平滑和渐隐两种效果(可以只有两张图)
    Git使用教程
    MySQL数据库基本用法-聚合-分组
    MySQL数据库基本用法-查询
    MySQL数据库基本用法
    JS中获取文件点之后的后缀字符
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5437357.html
Copyright © 2011-2022 走看看