"Minimum Path Sum" recursive memoization solution not working

The question: https://leetcode.com/problems/minimum-path-sum/

My solution (wrong answer):

class Solution {
    public int minPathSum(int[][] grid) {
        Integer memo[][] = new Integer[grid.length][grid[0].length];
        return  minPath(grid, 0, 0, memo);
    }
    
    public int minPath(int[][]grid, int row,int col, Integer[][]memo){
        if(row<0||col<0||row>grid.length-1||col>grid[0].length-1)return 0;
        if(memo[row][col] == null){
            memo[row][col] = grid[row][col] + Math.min(minPath(grid, row+1, col, memo), minPath(grid, row, col+1,memo));
        }
        return memo[row][col];
    }
}

In the very first testcase, my output is 5 instead of 7. What am I missing here?

Comments (0)