关注
大佬 为啥我这样写只有60%,想到走过的路要再走了,但是还是没过
func numberOfPatrolBlocks(m int, n int, block [][]int32) (res int32) {
dx := []int{0, 1, 0, -1}
dy := []int{1, 0, -1, 0}
x, y, d := 0, 0, 0
st := make([][]int, m)
for i := 0; i < m; i++ {
st[i] = make([]int, n)
}
var tt func(int, int) bool
tt = func(a, b int) bool {
if a >= 0 && a < m && b >= 0 && b < n && st[a][b] < 1000 && block[a][b] == 0 {
return true
}
return false
}
var check func(int, int) bool
check = func(a, b int) bool {
for i := 0; i < 4; i++ {
k := (d + i) % 4
aa, bb := x+dx[k], y+dy[k]
if tt(aa, bb) {
d = k
return true
}
}
return false
}
for true {
if st[x][y] == 0 {
//fmt.Println(x, y)
res++
}
st[x][y]++
if !check(x, y) {
break
}
x, y = x+dx[d], y+dy[d]
}
return
}
查看原帖
点赞 3
相关推荐


点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司开提前批了? #
27809次浏览 268人参与
# 入职以后才知道的校招谎言 #
88649次浏览 580人参与
# 风评不好的公司,你会去吗? #
63458次浏览 450人参与
# 华子oc时间线 #
1244557次浏览 6485人参与
# 哪些公司校招卡第一学历 #
70298次浏览 280人参与
# 校招第一份工作你干了多久? #
95303次浏览 423人参与
# 实习如何「偷」产出? #
52840次浏览 1355人参与
# 除了主业以外,你还有哪些其他收入? #
12572次浏览 202人参与
# 不卡学历的大厂有哪些? #
30549次浏览 232人参与
# 机械人,你的第一份感谢信是谁给的 #
30605次浏览 310人参与
# 校招阶段,学历VS技术哪个更重要? #
18217次浏览 188人参与
# 职场新人体验 #
27164次浏览 250人参与
# 研究所笔面经互助 #
78582次浏览 483人参与
# 工作丧失热情的瞬间 #
294138次浏览 2372人参与
# 腾讯音乐求职进展汇总 #
98263次浏览 570人参与
# 你的秋招第一场笔试是哪家 #
148255次浏览 1485人参与
# 社恐入职新公司如何融入团队 #
12049次浏览 63人参与
# 华为开奖那些事 #
4094510次浏览 24608人参与
# 校园里的破防时刻 #
11961次浏览 128人参与
# Offer比较,你最看重什么? #
191873次浏览 1308人参与