今天和大家聊的问题叫做 扫地机器人,我们先来看题面:
https://leetcode-cn.com/problems/robot-room-cleaner/
示例
输入:
room = [...1,1,1,1,1,0,1,1],
[1,0,1,1,1,1,1,1],
[0,0,0,1,0,0,0,0],
[1,1,1,1,1,1,1,1]
],
row = 1,
col = 3
解析:
房间格栅用0或1填充...给的例子中有房间和起始位置的信息,可是代码中却没有,摆明是不想让咱们被分心。想一想也是,难道咱们在给扫地机器人编程时,还必需要知道用户的房间信息么?...咱们采用递归 DFS 来作,初始化位置为 (0, 0),而后建一个上下左右的方向数组,使用一个变量 dir 来从中取数。...此时先要判断 visited 不含有这个新位置,即新位置没有访问过,还要调用 move 函数来肯定新位置是否能够到达,若这两个条件都知足的话,咱们就对新位置调用递归函数。