func findBall(grid [][]int) []int {
n := len(grid[0])
ans := make([]int, n)
for j := range ans {
col := j // 球的初始列
for _, row := range grid {
dir := row[col]
col += dir // 移动球,让列先做移动做条件判断是否形成V
//列小于零,列靠最左遇到↙卡墙,
//列等于最大值,列靠最右遇到↘卡墙,
//第row行第col列的格子不等于dir,相邻右列形成V型
if col < 0 || col == n || row[col] != dir { // 到达侧边或 V 形
col = -1
break
}
}
ans[j] = col // col >= 0 为成功到达底部
}
return ans
}
1706. 球会落何处
最新推荐文章于 2024-10-17 19:06:39 发布