美文网首页
42. leetcode题目讲解(Python):接雨水(Tra

42. leetcode题目讲解(Python):接雨水(Tra

作者: 夏山闻汐 | 来源:发表于2018-12-14 19:09 被阅读96次

题目如下:

题目:接雨水(Trapping Rain Water)

思路:

这道题我推荐使用双指针的动态规划方法求解,通过动态更新左右的最大高度(决定容量的是左右最大高度中较小的那一个),来获取答案,可以单步调试看看求解的具体过程。

参考代码:

class Solution:
    def trap(self, height):
        """
        :type height: List[int]
        :rtype: int
        """
        left = 0
        right = len(height) - 1
        res = 0
        left_max = 0
        right_max = len(height) - 1

        while left < right:
            if height[left] > height[right]:
                if height[right_max] < height[right]:
                    right_max = right
                    right = right - 1
                else:
                    res += height[right_max] - height[right]
                    right = right - 1

            if height[left] <= height[right]:
                if height[left_max] < height[left]:
                    left_max = left
                    left = left + 1
                else:
                    res += height[left_max] - height[left]
                    left = left + 1
        return res

源码地址:
https://github.com/jediL/LeetCodeByPython

其它题目:[leetcode题目答案讲解汇总(Python版 持续更新)]
(https://www.jianshu.com/p/60b5241ca28e)

ps:如果您有好的建议,欢迎交流 :-D,
也欢迎访问我的个人博客 苔原带 (www.tundrazone.com)

相关文章

  • 42. leetcode题目讲解(Python):接雨水(Tra

    题目如下: 思路: 这道题我推荐使用双指针的动态规划方法求解,通过动态更新左右的最大高度(决定容量的是左右最大高度...

  • 2.双指针(二)

    https://leetcode-cn.com/tag/two-pointers/题目汇总42. 接雨水困难(??...

  • 42. 接雨水

    42. 接雨水(难度:困难) 题目链接:https://leetcode-cn.com/problems/trap...

  • 1.栈(一)

    题目汇总:https://leetcode-cn.com/tag/stack/20. 有效的括号简单42. 接雨水...

  • 如何高效解决接雨水问题

    读完本文,你可以去力扣拿下如下题目: 42.接雨水[https://leetcode-cn.com/problem...

  • 42. 接雨水

    42. 接雨水[https://leetcode.cn/problems/trapping-rain-water/...

  • 题库笔记

    42. 接雨水[https://leetcode-cn.com/problems/trapping-rain-wa...

  • LeetCode:42. 接雨水(困难)

    问题链接 42. 接雨水(困难)[https://leetcode-cn.com/problems/trappin...

  • LeetCode-python 42.接雨水

    题目链接难度:困难 类型: 栈 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按...

  • [LeetCode]42. 接雨水

    题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面...

网友评论

      本文标题:42. leetcode题目讲解(Python):接雨水(Tra

      本文链接:https://www.haomeiwen.com/subject/owfnhqtx.html