zoukankan      html  css  js  c++  java
  • LeetCode 42

    Trapping Rain Water

    Given n non-negative integers representing an elevation map where

    the width of each bar is 1, compute how much water it is able to trap after raining.

    For example,
    Given [0,1,0,2,1,0,1,3,2,1,2,1], return 6.

     1 #include<stdio.h>
     2 
     3 int trap( int* height, int heightSize ){
     4 
     5     int left = 0;
     6     int right = heightSize - 1;
     7     int middle = 0;
     8     int water = 0;
     9 
    10     while( left < right ){
    11 
    12         if( height[left] < height[right]){
    13             middle = middle > height[left] ? middle : height[left];
    14             water = water + middle - height[left];
    15             left ++;
    16         }else{
    17             middle = middle > height[right] ? middle : height[right];
    18             water = water + middle - height[right];
    19             right --;
    20         }
    21     }
    22     printf("Water is %d
    ", water);
    23     return water;
    24 }
    25 
    26 int main(){
    27     int height[] = {0,1,0,2,1,0,1,3,2,1,2,1};
    28     int heightSize = 12;
    29     trap( height, heightSize );
    30     return 0;
    31 }
  • 相关阅读:
    进程线程模型
    操作系统运行机制
    操作系统概论
    排序
    win32消息机制
    win32框架
    map
    deque & list
    vector内部实现2
    蓝桥杯 文化之旅 图论 待复习
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5444967.html
Copyright © 2011-2022 走看看