【剑指 offer】面试题13:机器人的运动范围(Java)
地上有一個m行n列的方格,從坐標 [0,0] 到坐標 [m-1,n-1] 。一個機器人從坐標 [0, 0] 的格子開始移動,它每次可以向左、右、上、下移動一格(不能移動到方格外),也不能進入行坐標和列坐標的數(shù)位之和大于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
示例 1:
輸入:m = 3, n = 1, k = 0
輸出:1
提示:
1 <= n,m <= 100
0 <= k?<= 20
代碼:
class?Solution?{
????public?int?movingCount(int?m,?int?n,?int?k)?{
????????boolean?visited[][]?=?new?boolean[m][n];
???????
????????return??find(m,n,k,0,0,visited);
????}
????public?int??find(int?m,int?n,int?k,int?i,int?j,boolean?visited[][])
????{
????????if(i==m||j==n||i<0||j<0||(i/10+i%10+j/10+j%10)>k||visited[i][j]==true)
????????{
????????????return?0;
????????}
????????visited[i][j]?=?true;
????????return?find(m,n,k,i+1,j,visited)+find(m,n,k,i-1,j,visited)+find(m,n,k,i,j-1,visited)+find(m,n,k,i,j+1,visited)+1;
?
????}
}
總結(jié)
以上是生活随笔為你收集整理的【剑指 offer】面试题13:机器人的运动范围(Java)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode--128. 最长连续序
- 下一篇: Leetcode--145. 二叉树的后