题解 | #求路径#

求路径

http://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358

方法一:递归

 public int uniquePaths (int m, int n) {
        // write code here
        int sum = 0;
        sum = search(1,1,m,n);
        return sum;
    }
    public int search(int row,int col,int m,int n){
        if (row == m && col == n)
            return 1;
        if (row == m)
            return search(row,col+1,m,n);
        if (col == n)
            return search(row+1,col,m,n);
        return search(row+1,col,m,n) + search(row,col+1,m,n);
    }

可惜超时了。。。

方法二:动态规划

public int uniquePaths (int m, int n) {
        // write code here
       int[][] dp = new int[m+1][n+1];    //题意下标从1开始
        for (int i = 1; i <= m; i++){
            dp[i][1] = 1;    //初始化边界
        }
        for (int i = 1; i <= n; i++){
            dp[1][i] = 1;    //初始化边界 
        }
        for (int i = 2; i <= m; i++){
            for (int j = 2; j <= n; j++){
                dp[i][j] = dp[i-1][j] + dp[i][j-1];    //当前位置到达的方式等于左一格的到达方式加上上一格的到达方式
            }
        }
        return dp[m][n];    //dp存的是当前位置的所有路径
    }
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 17:58
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 18:25
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务