feat: monday

This commit is contained in:
2026-01-12 19:38:01 -05:00
parent f3abe4ff5b
commit 5fb803129f
2 changed files with 62 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
package trapping_rain_water
func Trap(heights []int) int {
// Calculate area taken up by the boundary.
boundary_area := 0
for _, height := range heights {
boundary_area += height
}
// Calculate the total area taken up by the boundary and the water.
total_area := 0
left := 0
left_height := 0
right := len(heights) - 1
right_height := 0
for left <= right {
left_height = max(left_height, heights[left])
right_height = max(right_height, heights[right])
if left_height < right_height {
total_area += left_height
left++
} else {
total_area += right_height
right--
}
}
return total_area - boundary_area
}