剑指 Offer 13. 机器人的运动范围

public int movingCount(int m, int n, int k) {  //暴力法?
        boolean[][] visited = new boolean[m][n];
        return move_count(m,n,k,0,0,visited);
    }

    private int move_count(int m, int n, int k, int row_start,int col_start, boolean[][] visited) {
        if(row_start<0 || row_start ==m || col_start<0 || col_start == n) return 0;
        if(!visited[row_start][col_start]) {
            visited[row_start][col_start] = true;
            int h = 0;
            int x = row_start, y = col_start;
            while (x >= 10) {
                h += x % 10;
                x = x / 10;
            }
            while (y >= 10) {
                h += y % 10;
                y = y / 10;
            }
            h = h + x + y;
            if (h <= k) {
                return 1+ move_count(m, n, k, row_start + 1, col_start, visited)
                        + move_count(m, n, k, row_start - 1, col_start,visited)
                        +move_count(m, n, k, row_start, col_start + 1, visited)
                        +move_count(m, n, k, row_start, col_start - 1,  visited);
            }
        }
        return 0;
    }

 深度优先遍历,递归

我的前方是万里征途,星辰大海!!
原文地址:https://www.cnblogs.com/taoyuxin/p/13457932.html