Leetcode 62の異なるパス(ユニークパス)

Leetcode 62.異なる経路

1つのタイトルの説明(Leetcodeトピックリンク

  左コーナーMXNグリッドに位置ロボットは(以下、「スタート」と表示されたポイントのフィギュアを開始します)。
  ロボットは右または下に一歩を移動することができます。(「完了」と表示され、次の図の)グリッドの右下隅に到達しようとしているロボット。
  合計でQ.どのように多くの異なるパスがありますか?
ここに画像を挿入説明

この問題に対する解決策2

  この題し、動的プログラミングの問題は、あなたが構築することができます メートル * n個 M * N 、各レコードと配列の点、1行1列目の初期化は、次のようにDP状態遷移方程式は、1であることパス到達の数は異なります。
D P [ ] [ J ] = D P [ - 1 ] [ J ] + D P [ ] [ J - 1 ] DP [I] [J] = DP [I-1]〜[J] + DP [I]、[J-1]
第二行の第2列の最初の要素からDPアレイを充填し始め、結果は D P [ メートル - 1 ] [ n個 - 1 ] DP [M-1]〜[N-1]

class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        DP = [([1] * (n)) for i in range(m)]
        for i in range(1,m):
            for j in range(1,n):
                DP[i][j] = DP[i-1][j]+DP[i][j-1]
        return DP[m-1][n-1]
公開された32元の記事 ウォン称賛53 ビュー20000 +

おすすめ

転載: blog.csdn.net/qq_39378221/article/details/104028552