题解 | #机器人的运动范围#
机器人的运动范围
https://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8
import java.util.*;
public class Solution {
public int movingCount(int threshold, int rows, int cols) {
int[][] use = new int [rows][cols];
return dfs(0, 0, threshold, rows, cols, use);
}
int dfs(int i, int j, int threshold, int rows, int cols, int use[][]){
if(i < 0 || i >= rows || j < 0 || j >= cols || i/100 + i / 10 + i % 10 + j / 100 + j / 10 + j % 10 > threshold || use[i][j] == 1)
return 0;
else{
use[i][j] = 1;
return 1 + dfs(i + 1, j, threshold, rows, cols, use) + dfs(i - 1, j, threshold, rows, cols, use) + dfs(i, j - 1, threshold, rows, cols, use) + dfs(i, j + 1, threshold, rows, cols, use);
}
}
}

