您好,登錄后才能下訂單哦!
這篇文章主要介紹LeetCode如何計算機器人的運動范圍,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
地上有一個m行n列的方格,從坐標 [0,0] 到坐標 [m-1,n-1] 。一個機器人從坐標 [0, 0] 的格子開始移動,它每次可以向左、右、上、下移動一格(不能移動到方格外),也不能進入行坐標和列坐標的數位之和大于k的格子。例如,當k為18時,機器人能夠進入方格 [35, 37] ,因為3+5+3+7=18。但它不能進入方格 [35, 38],因為3+5+3+8=19。請問該機器人能夠到達多少個格子?
示例 1:
輸入:m = 2, n = 3, k = 1輸出:3
解題思路:這題主要考察的是回溯法:機器人從坐標(0,0)開始移動,當它進入坐標為(i,j)的格子時,通過檢查坐標的位數和來判斷機器人能否進入, 如果能進入的話再判斷下右兩個方向的點能否進入。
這就需要兩個函數
1、private int getDigiSum(int number) :計算輸入數的位數之和
2、private void check(int k, int m, int n, int i, int j, int[][] visited):傳入i,j兩點 判斷當前點是否符合規則 符合規則下繼續對下右兩個方向遞歸判斷
以上是“LeetCode如何計算機器人的運動范圍”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。