zoukankan      html  css  js  c++  java
  • 【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 }
  • 相关阅读:
    如何下载网络图片资源
    经典排序之快速排序(含红黑树)
    经典排序之归并排序
    node微信公众号开发---自动回复
    koa2的文件上传
    async await的用法
    Generator yield语法和 co模块
    CentOS 7 下安装 Nginx
    windows下nginx的安装及使用方法入门
    linux下nodejs安装以及如何更新到最新的版本
  • 原文地址:https://www.cnblogs.com/sunshineatnoon/p/3798167.html
Copyright © 2011-2022 走看看