回溯返回值: 返回 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;