深度优先比较直观的解法(推荐)
考点:
1.是否了解用栈实现深度优先和用队列实现的广度优先的算法 并实现
2.能否把思想转换为代码
-Bonus 能否进一步优化深度搜索的空间
深度优先:
首先确定递归出口;
更新当前状态;
解决子问题。
思路:
--模式识别:搜索问题用递归实现的深度优先和队列实现的广度优先
--当前状态(i,j)看成状态
--递归搜索 子问题 (i-1,j),(i+1,j),(i,j-1),(i,j+1)
--记录是否访问过的全局状态 (矩阵用二维数组)
剑指offer13 机器人的运动范围【无需回溯且只需搜索向下和向右两个方向】
测试用例通常包括:
--全域可达的情况
--只能在(0,0)的情况
--其他情况