标签:运动 loading 开始 visit turn 机器人 问题 alt ||
深度优先搜索:将问题划分为,邻近的四个方向格子所能到达的格子数+1,由于又是从0,0开始的所以只用右、下两个方向的邻近格子就行了。
class Solution {
boolean[][] visited;
public int movingCount(int m, int n, int k) {
visited = new boolean[m][n];
return dfs(0, 0, m, n, k);
}
private int dfs(int x, int y, int m, int n, int k) {
if (x >= m || y >= n || visited[x][y]
|| (x % 10 + x / 10 + y % 10 + y / 10) > k) {//下标最多是两位数
return 0;
}
visited[x][y] = true;
return 1 + dfs(x + 1, y, m, n, k) + dfs(x, y + 1, m, n, k);
}
}
标签:运动 loading 开始 visit turn 机器人 问题 alt ||
原文地址:https://www.cnblogs.com/cstdio1/p/13396606.html