机器人的运动范围 --剑指offer

Posted nlw-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器人的运动范围 --剑指offer相关的知识,希望对你有一定的参考价值。

public class Solution {
    public int movingCount(int threshold, int rows, int cols)
    {
        boolean[][] flag=new boolean[rows][cols];
        return moveCountCore(threshold,rows,cols,0,0,flag);
    }
    private int moveCountCore(int threshold,int rows,int cols,int i,int j,boolean[][]flag){
        //不满足条件时 返回0
        if(i<0||j<0||i>=rows||j>=cols||flag[i][j]==true||count(i)+count(j) > threshold){
            return 0;
        }
        flag[i][j] = true;
        //满足条件时 计算其余四个方格的情况并?1
        return 1 + moveCountCore(threshold,rows,cols,i+1,j,flag) +
                moveCountCore(threshold,rows,cols,i-1,j,flag) +
                moveCountCore(threshold,rows,cols,i,j+1,flag) +
                moveCountCore(threshold,rows,cols,i,j-1,flag);
    }
    /*
 计算一个数字的各个位的数字之和
 */
    private int count(int num){
        String str = String.valueOf(num);
        int sum=0;
        for(int i =0;i<str.length();i++){
            sum += str.charAt(i) - ‘0‘;
        }
        return sum;
    }
    public static void main(String[] args) {
    }
}

 

以上是关于机器人的运动范围 --剑指offer的主要内容,如果未能解决你的问题,请参考以下文章

AcWing22:机器人的运动范围

AcWing22:机器人的运动范围

剑指OFFER 机器人的运动范围

剑指offer---机器人的运动范围

《剑指Offer——12.矩阵中的路径,13.机器人的运动范围》代码

剑指offer-机器人的运动范围