题解 | #机器人路径#

机器人的运动范围

http://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8

机器人路径路径问题

手撸这个提的思想,即用二维数组保存是否被访问过,因为被访问了不能再次去。

然后利用一个单行增加或者单列增加的处理。即减少了双重循环带来的时间复杂问题。

当然了,这里避免不了的空间复杂问题,若需要避免空间复杂问题,避免使用二位数组辅助判断,利用其他方法解决。
public class Solution {
    public int movingCount(int threshold, int rows, int cols) {
        int[][] arrays=new int[rows][cols];
        return isnext(arrays,0,0,threshold);        
    }

    public int isnext(int[][] arry, int i,int j,int thresh){

        if(i>=arry.length || j>=arry[0].length){
           return 0;
        }else{
            if(arry[i][j]==1){
                return 0;
            }
            int sval=0;
            int r=i;
            int c=j;
            arry[i][j]=1;
            int inext=0;
            int jnext=0;
            while((i/10) >=0  && i>0){
               sval=(i%10) +sval;
               i=i/10;
            }
            while((j/10) >=0 && j>0){
                sval=(j%10)+sval;
                j=j/10;            
            }        
            if(sval >thresh ){
                return 0;
            }else{
                //
                return 1+isnext(arry,r+1,c,thresh)
                    +isnext(arry,r,c+1,thresh);
            }
        }        
    }
}
全部评论

相关推荐

01-26 18:45
门头沟学院 Java
一天代码十万三:哥们实习再包一下吧,产出太笼统了,尽量体现业务
点赞 评论 收藏
分享
MingoTree:看不出你你的技术栈,想找什么工作,然后课设项目别写上去了,自我评价删了,前后端你想好你要干啥,这种简历投上去秒挂的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务