题解 | #接雨水问题#

接雨水问题

https://www.nowcoder.com/practice/31c1aed01b394f0b8b7734de0324e00f?tpId=295&tqId=1002045&ru=/exam/oj&qru=/ta/format-top101/question-ranking&sourceUrl=%2Fexam%2Foj

双指针典型

class Solution {
public:
    /**
     * max water
     * @param arr int整型vector the array
     * @return long长整型
     */
    long long maxWater(vector<int>& arr) {
      if (arr.empty()) {
        return 0;
      }
      
      long long res = 0;
      int left = 0, right = arr.size() - 1;
      //  底边左右的最高柱子,形成凹形
      int max_l = 0, max_r = 0;
      
      while (left < right) {
        //  两个最高的边界柱子,始终包含或等于当前的柱子
        //  其与当前柱子高度差为容纳的水量
        max_l = std::max(max_l, arr[left]);
        max_r = std::max(max_r, arr[right]);
        
        //  选取短边
        if (max_l < max_r) {
          res += max_l - arr[left++];
        } else {
          res += max_r - arr[right--];
        }
      }
      
      return res;
    }
};
全部评论

相关推荐

不是你先问的我吗!
Smiley_W:底薪是多少?薪资构成是怎样的?(底薪+绩效+提成?) 是否有年终奖/季度奖?发放标准和比例如何? 五险一金的缴纳基数和比例是多少?(是否按实际工资缴纳?) 薪资是税前还是税后?是否有其他补贴(餐补、交通补、住房补等)? 调薪机制是怎样的?(每年有固定调薪吗?依据什么标准?) 工作时间是几点到几点?是否弹性打卡? 是否需要加班?加班频率如何?是否有加班费或调休? 周末和节假日是否正常休息?是否有轮班或值班制度? 年假、病假等假期如何规定?请假流程是否复杂? 是否有明确的KPI或考核标准?考核周期是多长? 公司目前的发展阶段和未来规划是什么? 是否有裁员或业务调整的风险?近期人员流动性如何? 入职后是否有试用期?试用期时长和薪资如何? 是否需要签竞业协议或保密协议? 文案自取
点赞 评论 收藏
分享
08-15 13:55
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务