class Solution { Integer[][] dp; public int minimumTotal(List<List<Integer>> triangle) { dp = new Integer[triangle.size()][triangle.size()]; return dfs(triangle, 0, 0); } private int dfs(List<List<Integer>> triangle, int i, int j) { if (i == triangle.size()) { return 0; } if (dp[i][j] != null) { return dp[i][j]; } return dp[i][j] = Math.min(dfs(triangle, i + 1, j), dfs(triangle, i + 1, j + 1)) + triangle.get(i).get(j); } }
力扣120.三角形最小路径和
最新推荐文章于 2024-10-05 19:23:25 发布