剑指offer13,机器人的运动范围(和矩阵路径很像)
Posted 小布丁value
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer13,机器人的运动范围(和矩阵路径很像)相关的知识,希望对你有一定的参考价值。
机器人的运动范围
class Solution {
int m,n,k;
boolean[][]visited;
public int movingCount(int m,int n,int k){
this.m=m;
this.n=n;
this.k=k;
this.visited=new boolean[m][n];
return dfs(0,0,0,0);
}
public int dfs(int i,int j,int si,int sj){
//走到四个边界,或者位数和大于看k,或者此位置走过,标记出来,是可行性剪枝
if(i>=m||j>=n|| si+sj>k||visited[i][j]) return 0;
visited[i][j]=true;
//回溯返回值:返回1+右方搜索的可达解总数+下方搜索的可达解总数
return 1+dfs(i+1,j,(i+1)%10!=0?si+1:si-8,sj)+dfs(i,j+1,si,(j+1)%10!=0?sj+1:sj-8);
}
}
参考文献:
https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/
以上是关于剑指offer13,机器人的运动范围(和矩阵路径很像)的主要内容,如果未能解决你的问题,请参考以下文章
乱序版 ● 剑指offer每日算法题打卡题解—— 搜索与回溯算法(题号12,13,34)