LeetCode solutions

1224. Minimum Falling Path Sum II

My accepted C++ solution to LeetCode problem 1224, Minimum Falling Path Sum II, running in 0ms.

  • Difficulty: Hard
  • C++
  • Runtime 0ms
  • Memory 19.9MB

Read the problem on LeetCode View on GitHub

C++

Accepted on LeetCode — runtime 0ms, memory 19.9MB, accepted 2025-12-27.

cpp
class Solution {
    public:
    int minFallingPathSum(vector<vector<int>>& grid) {
        int n = grid.size();
        for (int i = 1; i < n; i++) {
            int min1 = INT_MAX, min2 = INT_MAX, minIdx = -1;
            for (int j = 0; j < n; j++) {
                if (grid[i-1][j] < min1) { min2 = min1; min1 = grid[i-1][j]; minIdx = j; }
                else if (grid[i-1][j] < min2) min2 = grid[i-1][j];
            }
            for (int j = 0; j < n; j++) {
                grid[i][j] += (j == minIdx ? min2 : min1);
            }
        }
        return *min_element(grid[n-1].begin(), grid[n-1].end());
    }
};

Source