add new solutions

This commit is contained in:
kanna5 2026-01-05 16:48:03 +09:00
parent 9c2c959a9b
commit 9a10695e8c
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
29 changed files with 1074 additions and 2 deletions

View file

@ -0,0 +1,36 @@
package q42
func trap(height []int) int {
water := 0
mid := 0
// From left
maxHeight, stash := 0, 0
for i, h := range height {
if h >= maxHeight {
maxHeight = h
water += stash
stash = 0
mid = i
} else {
stash += maxHeight - h
}
}
// From right
maxHeight, stash = 0, 0
for i := len(height) - 1; i >= mid; i-- {
h := height[i]
if h >= maxHeight {
maxHeight = h
water += stash
stash = 0
} else {
stash += maxHeight - h
}
}
return water
}
var _ = trap