add new solutions

This commit is contained in:
kanna5 2025-12-31 15:14:22 +09:00
parent 71189b61cf
commit 9c2c959a9b
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
10 changed files with 349 additions and 8 deletions

View file

@ -0,0 +1,28 @@
package q63
func uniquePathsWithObstacles(obstacleGrid [][]int) int {
w, h := len(obstacleGrid[0]), len(obstacleGrid)
if obstacleGrid[h-1][w-1]+obstacleGrid[0][0] > 0 {
return 0
}
obstacleGrid[h-1][w-1] = -1
for i := w + h - 2; i >= 0; i-- {
for x := min(i, w-1); x >= 0 && i-x < h; x-- {
y := i - x
if obstacleGrid[y][x] == 1 {
continue
}
if x+1 < w && obstacleGrid[y][x+1] != 1 {
obstacleGrid[y][x] += obstacleGrid[y][x+1]
}
if y+1 < h && obstacleGrid[y+1][x] != 1 {
obstacleGrid[y][x] += obstacleGrid[y+1][x]
}
}
}
return -1 * obstacleGrid[0][0]
}
var _ = uniquePathsWithObstacles