回溯返回值: 返回 1 + 右方搜索的可达解总数 + 下方搜索的可达解总数,表明从本单元格递归搜索的可达解总数。
计算能走到多少个方格,那么就不能重复,上一个题12. 矩阵中的路径(深度优先搜索(DFS)),是利用先标'\0'后复原的方法获得,但此题须要计算方格数
这里须要创建一个数组记录,
具体点,创建一个与矩阵等大的二维布尔数组,!!注意布尔类型默认值是false。数组
朝一个方向走到底再回退
DFS是一条路一直走直到false,递归+boolean数组
BFS是右下一块儿走,直到走完,队列+boolean数组优化
遍历到一个点,就把右,下的点都传到数组里。
本题往LinkedList里面传的是数组的形式,也就是队列元素是数组
spa
传入四个参数,位数和也传入了
上面那个:xi,xj就是i、j的个位十位数之和,一次只会突变一个,要么xi,要么xj。code
优化个位十位的和递归
数位和的通常求法:队列
个位:x%10,x的模 十位:x/10
因为题中说明了最大只到两位数,且机器一次只走一步,所以只有两种状况:it
i;j=1,2,这样,11,12,这样,位和x只会增长1,xi++,xj++ i;i=19,20,这样,29,30这样,位和x就会多减小8,xi-8,xj-8,
所以能够优化为:class
(i+1)%10 = 0 ?xi=xi-8:xi=xi+1;