Skip to content

Instantly share code, notes, and snippets.

@amka
Last active February 26, 2016 08:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amka/1bff9689df3f94a49e1f to your computer and use it in GitHub Desktop.
Save amka/1bff9689df3f94a49e1f to your computer and use it in GitHub Desktop.
class Solution(object):
def trap(self, height):
"""
:type height: List[int]
:rtype: int
"""
water = 0
height_len = len(height)
if height_len < 3:
return water
max_level = max(height)
max_level_index = height.index(max_level)
prev_level = height[0]
for x in range(max_level_index):
level = height[x]
if level < prev_level and level < max_level:
water += (prev_level - level)
else:
prev_level = level
prev_level = height[-1]
for x in range(height_len-1, max_level_index, -1):
level = height[x]
if level < prev_level and level < max_level:
water += (prev_level - level)
else:
prev_level = level
return water
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment