Last updated on October 9th, 2024 at 10:43 pm

Here, We see ** Unique Paths LeetCode Solution**. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

*List of all LeetCode Solution*

*List of all LeetCode Solution*

## Topics

Array, Dynamic Programming

## Companies

Bloomberg

## Level of Question

Medium

**Unique Paths LeetCode Solution**

## Table of Contents

**Problem Statement**

There is a robot on an `m x n`

grid. The robot is initially located at the **top-left corner** (i.e., `grid[0][0]`

). The robot tries to move to the **bottom-right corner** (i.e., `grid[m - 1][n - 1]`

). The robot can only move either down or right at any point in time.

Given the two integers `m`

and `n`

, return *the number of possible unique paths that the robot can take to reach the bottom-right corner*.

The test cases are generated so that the answer will be less than or equal to `2 * 10`

.^{9}

Example 1: Input: m = 3, n = 7 Output: 28 Example 2: Input: m = 3, n = 2 Output: 3 Explanation: From the top-left corner, there are a total of 3 ways to reach the bottom-right corner: 1. Right -> Down -> Down 2. Down -> Down -> Right 3. Down -> Right -> Down

**1. Unique Paths Leetcode Solution C++**

class Solution { public: int uniquePaths(int m, int n) { if(m <=0 || n <= 0) return 0; long long res = 1; for(int i = n; i < m+n-1 ; i++){ res = res * i / (i- n + 1); } return (int)res; } };

**2. Unique Paths Leetcode Solution Java**

class Solution { public int uniquePaths(int m, int n) { if(m == 1 || n == 1) return 1; m--; n--; if(m < n) { m = m + n; n = m - n; m = m - n; } long res = 1; int j = 1; for(int i = m+1; i <= m+n; i++, j++){ res *= i; res /= j; } return (int)res; } }

**3. Unique Paths Leetcode Solution JavaScript**

var uniquePaths = function(m, n) { let perRow = Array(n).fill(1); let pathCount = Array.from( Array(m).fill( perRow ) ); for(let y = 1 ; y < m ; y++){ for(let x = 1 ; x < n ; x++){ pathCount[y][x] = pathCount[y][x-1] + pathCount[y-1][x] } } return pathCount[m-1][n-1] };

**4. Unique Paths Leetcode Solution Python**

class Solution(object): def uniquePaths(self, m, n): return math.factorial(m+n-2)/math.factorial(m-1)/math.factorial(n-1)