从二维矩阵的 (0, 0) 点出发向右开始巡逻,每次巡逻遇到障碍物或到达边界时,都会顺时针转90度并继续前进。需要计算无人机巡逻时覆盖到的区域的总块数。
我是用一个二维数组int来存刚到达当前位置(i,j)时的方向,int表示二进制数字,方向值下8,左4,上2,右1,同一位置的方向可以不同,但重复的时候说明该终止了,所以用这个(i,j)存的值and上方向值,如果不为零则终止循环。如果(i,j)== 0 就说明没来过,count++,最后返回count。
#大疆# #笔试# #秋招# #Java# 最后过了90%的用例,不知道有什么地方没考虑到。好像可以用dfs?无所谓我就是暴力屎山硬写
想到了,应该是没有考虑一开始就走不了的情况,比如[[0,1],[1,0]]