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?

    意思很明确,只能往下往右,从左上角到右下角,有多少条路?

    第一个思路:动态规划、

    到达某一格的路径数目=到达它上一格的路径数目+达到它左侧一格的路径数目

    由于只能往下或者往右,故第一行和第一列的所有格子都只有一条路径

    class Solution:
        # @return an integer
        def uniquePaths(self, m, n):
            if m == 1 and n == 1:
                return 1
            feat = [[1] * n for row in range(m)]
            feat[0][0] = 0
            for i in range(1,n):  #第一行第一列都是1
                for j in range(1,m):
                    feat[j][i] = feat[j-1][i] + feat[j][i-1]
            return feat[m-1][n-1]
    

    第二个思路:用0,1分别表示往下,往右,对于m*n的格子,结果就是有多少种m-1个0和n-1个1的排列方式。

  • 相关阅读:
    parted分区
    gitlab的还原
    hadoop2.7.3+spark2.0.1+scala2.11.8集群部署
    Daily record-September
    三次握手和四次挥手【转】
    “梅西式”程序员 【转】
    C++解析十-数据封装
    客户端、服务器代码实例
    网络整理
    C++解析九-数据抽象
  • 原文地址:https://www.cnblogs.com/KingKou/p/4333817.html
Copyright © 2011-2022 走看看