64. Minimum Path Sum

Alen Alex · February 12, 2026

LeetCode Link: 64. Minimum Path Sum
Language: C#

Problem Statement

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right, which minimizes the sum of all numbers along its path.

Note: You can only move either down or right at any point in time.

Example 1:

Image

Input: grid = [[1,3,1],[1,5,1],[4,2,1]]
Output: 7
Explanation: Because the path 1 → 3 → 1 → 1 → 1 minimizes the sum.

Example 2:

Input: grid = [[1,2,3],[4,5,6]]
Output: 12

Constraints:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 200
  • 0 <= grid[i][j] <= 200

Solution

public class Solution 
{
    public int MinPathSum(int[][] grid) 
    {
        var m = grid.Length;
        var n = grid[0].Length;

        var n2 = new int[m][];
        for (int i=0; i<m; i++)
        {
            n2[i] = new int[n];
        }

        n2[0][0] = grid[0][0];

        for (int i=1; i<n; i++)
        {
            n2[0][i] = n2[0][i-1] + grid[0][i];
        }
        for (int i=1; i<m; i++)
        {
            n2[i][0] = n2[i-1][0] + grid[i][0];
        }

        for (int i=1; i<m; i++)
        {
            for (int j=1; j<n; j++)
            {
                int o1 = n2[i][j-1] + grid[i][j];
                int o2 = n2[i-1][j] + grid[i][j];

                n2[i][j] = Math.Min(o1, o2);
            }
        }

        return n2[m-1][n-1];
    }
}

Twitter, Facebook