700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【剑指offor】面试题13:机器人的运动范围

【剑指offor】面试题13:机器人的运动范围

时间:2019-12-24 16:02:13

相关推荐

【剑指offor】面试题13:机器人的运动范围

【剑指offor】面试题13:机器人的运动范围

题目描述代码

题目描述

代码

class Solution {public:int sums(int x){//先把数位和的这个函数写出来int s = 0;while(x != 0) {s += x % 10;x = x / 10;}return s;}int check (int k,int rows,int cols, int row,int col,bool* visited){//检查当前坐标是否满足题意if(row >= 0 && row < rows && col >= 0 && col < cols&& sums(row) + sums(col) <= k&& !visited[row* cols + col])return true;return false;}int movingCount(int m, int n, int k) {if(k<0||m<=0||n<=0){return 0;}bool *visited = new bool[m*n];for(int i=0;i<n*m;i++){visited[i]=false;//全局的visited数组来判断这个坐标是否被访问过}int count = countcore(k,m,n,0,0,visited);delete[] visited;return count;}int countcore(int k,int m,int n,int row,int col,bool* visited){int count=0;if(check(k,m,n,row,col,visited)){visited[row*n+col] = true;count= 1+countcore(k,m,n,row-1,col,visited)+countcore(k,m,n,row+1,col,visited)+countcore(k,m,n,row,col-1,visited)+countcore(k,m,n,row,col+1,visited);}return count;//这个题目和找路径的题目还不太一样,这个不需要回溯,一条道走到黑,统计count就可以了。}};

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。