区块链技术博客
www.b2bchain.cn

42. 接雨水 双指针

这篇文章主要介绍了42. 接雨水 双指针,通过具体代码讲解8095并且分析了42. 接雨水 双指针的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了42. 接雨水 双指针。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/8095.html。具体如下:

接雨水,

双指针指向当前位置遍历左右(移动较低位置,木桶原理,取决于较低位置水量),移动时候更新ans

于此同时更新此时左右侧最高高度(更新时则无需+=ans)

42. 接雨水

 class Solution {     public int trap(int[] height) {         //左右下标 移动遍历表示当前水量高度        int left=0,right=height.length-1;        //当前遍历得到的左侧和右侧最高水量        int leftmax=0;        int rightmax=0;        int ans=0;        while(left<right){             if(height[left]<height[right]) {                 if(height[left]>=leftmax) leftmax=height[left];                  else ans+=leftmax-height[left];                  left++;             }             else{                 if(height[right]>=rightmax) rightmax=height[right];                 else ans+= rightmax-height[right];                 right--;             }        }        return ans;     } }

 

本文地址https://www.b2bchain.cn/8095.html

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 42. 接雨水 双指针
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们