剣の指は13のロボット到達範囲を提供します

タイトル

https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/submissions/

アイデア

1.トラバースされたID配列マークを定義する
2.左右から再帰的にトラバースする

 public int  m, n;
    public int[][] visited;
    public int movingCount(int m, int n, int k) {
        this.m = m;
        this.n = n;
        visited = new int[m][n];
        return dfs(0, 0,   k);
    }

    private int dfs(int i, int j,  int k) {
        if (getDigitsSum(i, j) > k || i > m - 1 || j > n - 1 || visited[i][j] == 1) {
            return 0;
        }
        visited[i][j] = 1;
        //向左边和右边深度递归
        return 1 + dfs(i + 1, j,  k) + dfs(i, j + 1,  k);  
    }

    private   int getDigitsSum(int a, int b) {
        int result = 0;
        while (a != 0) {
            result += a % 10;
            a /= 10;
        }
        while (b != 0) {
            result += b % 10;
            b /= 10;
        }
        return result;
    }

問題

深さ優先と幅優先の違いは何ですか?

元の記事を33件公開しました 賞賛されました37 再生回数110,000回

おすすめ

転載: blog.csdn.net/hagle_wang/article/details/105175199