• 【leetcode】Unique Paths


    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).

    The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).

    How many possible unique paths are there?

    Above is a 3 x 7 grid. How many possible unique paths are there?

    Note: m and n will be at most 100.


    题解:水题。把一个m*n的矩阵初始化第一行和第一列为1,然后遍历数组中剩下的位置,answer[i][j] = answer[i-1][j]+answer[i][j-1]

    代码如下(java)

     1 public class Solution {
     2     public int uniquePaths(int m, int n) {
     3         int[][] answer = new int[m][n];
     4         
     5         for(int i = 0;i < m;i++)
     6             answer[i][0] = 1;
     7         for(int i = 0;i < n;i++)
     8             answer[0][i] = 1;
     9         
    10         for(int i = 1;i < m;i++)
    11         {
    12             for(int j = 1;j < n;j++){
    13                 answer[i][j] = answer[i-1][j] + answer[i][j-1];
    14             }
    15         }
    16         
    17         return answer[m-1][n-1];
    18     }
    19 }

     当然,因为每次只需要上一行的信息,所以只用一维数组也可以完成。

    JAVA代码如下:

     1 public class Solution {
     2     public int uniquePaths(int m, int n) {
     3         int[] answer = new int[n];
     4         for(int i = 0;i < n;i++)
     5             answer[i] = 1;
     6         for(int i = 1;i < m;i++){
     7             for(int j =1;j < n;j++)
     8                 answer[j] += answer[j-1];
     9         }
    10         return answer[n-1];
    11     }
    12 }
  • 相关阅读:
    java第十三周作业
    java第十三周随堂
    安卓作业
    5.29 第十三周作业
    5.28第十三周上机练习
    5.22第十二周作业
    5.21第十二章上机练习
    5.15 第十一周作业
    5.14 第十一周 上机练习
    5.7第十周上机练习
  • 原文地址:https://www.cnblogs.com/sunshineatnoon/p/3798167.html
Copyright © 2020-2023  润新知