Re: [闲聊] 每日leetcode

楼主: JIWP (JIWP)   2024-11-21 23:21:55
2257. Count Unguarded Cells in the Grid
有m*n的二维矩阵
在这个二维矩阵上有守卫和墙壁
守卫可以看向4个方向(东西南北)直到被墙壁挡住
请问这个矩阵上有个cell是不会被守卫看到的?
思路:
老实照着题目做
建立1个二维矩阵
将守卫和墙壁的所在地点设为1
接着每个守卫往4个方向开始走直到碰到1为止,把走过的地方设成2
最后去算不是1、2的cell有几个
golang code :
func countUnguarded(m int, n int, guards [][]int, walls [][]int) int {
arr := make([]byte, n*m)
for _, val := range guards {
arr[val[0]*n+val[1]] = 1
}
for _, val := range walls {
arr[val[0]*n+val[1]] = 1
}
for _, val := range guards {
i, j := val[0], val[1]
for i_tmp := i + 1; i_tmp < m && arr[i_tmp*n+j] != 1; i_tmp++ {
arr[i_tmp*n+j] = 2
}
for i_tmp := i - 1; i_tmp > -1 && arr[i_tmp*n+j] != 1; i_tmp
作者: oin1104 (是oin的说)   2024-11-21 23:32:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com