码迷,mamicode.com
首页 > 其他好文 > 详细

机器人的运动范围

时间:2020-07-29 15:24:37      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:运动   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!