大疆dji 8.18笔试
单选多选好多不会。
编程题第一次Ak,虽然总共只有一道题😋
简简单单一个dfs,有点坑的是vis[i][j]==1的时候也要走。
但是不知道怎么设置终止条件,直接暴力判断某个点访问10次就break,反正最后过了
问答题扯了点CLIP,瞎瘠薄写的
编程题第一次Ak,虽然总共只有一道题😋
简简单单一个dfs,有点坑的是vis[i][j]==1的时候也要走。
但是不知道怎么设置终止条件,直接暴力判断某个点访问10次就break,反正最后过了
问答题扯了点CLIP,瞎瘠薄写的
全部评论
看来不同岗位题还不一样,我c++开发有两道编程题
笔试好难
啊这 我还专门看 这个点被访问过 然后方向一致退出 结果超时
居然1也要走我就说什么一直改不对
考前没看dfs,才过80%
日了鬼了,我也迷在终止条件上
笑死,我本来要投后端,给眼瞎了投成了客户端,笔试打好打差也没意义了,唯一的投递机会让我给浪费了
大佬 为啥我这样写只有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
}
我的有的超时了,怎么改也改不明白了,gg
今天字节的好难。°(°¯᷄◠¯᷅°)°。
大疆今年没hc😅
相关推荐
投递信也科技等公司10个岗位
点赞 评论 收藏
分享
10-17 10:25
天津科技大学 招聘专员 点赞 评论 收藏
分享