美文网首页
[2018-11-04] [LeetCode-Week9] 93

[2018-11-04] [LeetCode-Week9] 93

作者: YuhiDiary | 来源:发表于2018-11-11 20:28 被阅读0次

    https://leetcode.com/problems/minimum-falling-path-sum/description/


    Given a square array of integers A, we want the minimum sum of a falling path through A.

    A falling path starts at any element in the first row, and chooses one element from each row. The next row's choice must be in a column that is different from the previous row's column by at most one.

    Example 1:

    Input: [[1,2,3],[4,5,6],[7,8,9]]
    Output: 12
    Explanation:
    The possible falling paths are:
    [1,4,7], [1,4,8], [1,5,7], [1,5,8], [1,5,9]
    [2,4,7], [2,4,8], [2,5,7], [2,5,8], [2,5,9], [2,6,8], [2,6,9]
    [3,5,7], [3,5,8], [3,5,9], [3,6,8], [3,6,9]
    The falling path with the smallest sum is [1,4,7], so the answer is 12.

    Note:

    1 <= A.length == A[0].length <= 100
    -100 <= A[i][j] <= 100


    用 d[i][j] 表示走到 (i, j) 处最小的和。
    状态转移方程:
    d[i][j] = min(d[i-1][j-1], d[i-1][j], d[i-1][j+1]) + A[i][j]
    初始值:
    d[0][j] = A[0][j]


    class Solution {
    public:
        int minFallingPathSum(vector<vector<int>>& A) {
            const int INF = 1000000000;
            int n = A.size();
            int d[105][105];
            for (int j = 0; j < n; j++) {
                d[0][j] = A[0][j];
            }
            
            for (int i = 1; i < n; i++) {
                for (int j = 0; j < n; j++) {
                    d[i][j] = INF;
                    if (j-1 >= 0) d[i][j] = min(d[i-1][j-1] + A[i][j], d[i][j]);
                                  d[i][j] = min(d[i-1][j] + A[i][j], d[i][j]);
                    if (j+1 < n)  d[i][j] = min(d[i-1][j+1] + A[i][j], d[i][j]);
                }
            }
            
            int ans = d[n-1][0];
            for (int j = 1; j < n; j++) {
                ans = min(ans, d[n-1][j]);
            }
            return ans;
        }
    };

    相关文章

      网友评论

          本文标题:[2018-11-04] [LeetCode-Week9] 93

          本文链接:https://www.haomeiwen.com/subject/tthffqtx.html