Skip to content

Commit dfc2f44

Browse files
committed
0931 added.
1 parent c87061b commit dfc2f44

File tree

3 files changed

+50
-0
lines changed

3 files changed

+50
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
cmake_minimum_required(VERSION 3.5)
2+
project(C)
3+
4+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
5+
6+
set(SOURCE_FILES main.cpp)
7+
add_executable(C ${SOURCE_FILES})
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/// Source : https://leetcode.com/problems/minimum-falling-path-sum/
2+
/// Author : liuyubobobo
3+
/// Time : 2018-10-27
4+
5+
#include <iostream>
6+
#include <vector>
7+
8+
using namespace std;
9+
10+
11+
/// Dynamic Programming
12+
/// Time Complexity: O(m * n)
13+
/// Space Complexity: O(1)
14+
class Solution {
15+
public:
16+
int minFallingPathSum(vector<vector<int>>& A) {
17+
18+
int m = A.size();
19+
if(m == 0) return 0;
20+
21+
int n = A[0].size();
22+
vector<vector<int>> dp(m, vector<int>(n, INT_MAX));
23+
24+
dp[0] = A[0];
25+
for(int i = 1; i < m; i ++)
26+
for(int j = 0; j < n; j ++)
27+
for(int k = max(j - 1, 0); k <= min(n - 1, j + 1); k ++)
28+
dp[i][j] = min(dp[i][j], dp[i - 1][k] + A[i][j]);
29+
30+
return *min_element(dp[m - 1].begin(), dp[m - 1].end());
31+
}
32+
};
33+
34+
35+
int main() {
36+
37+
vector<vector<int>> A = {{1,2,3},{4,5,6},{7,8,9}};
38+
cout << Solution().minFallingPathSum(A) << endl;
39+
// 12
40+
41+
return 0;
42+
}

readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -576,4 +576,5 @@ email: [liuyubobobo@gmail.com](mailto:liuyubobobo@gmail.com)
576576
| 928 | [Minimize Malware Spread II](https://leetcode.com/problems/minimize-malware-spread-ii/description/) | [solution](https://leetcode.com/problems/minimize-malware-spread-ii/solution/) | [C++](0928-Minimize-Malware-Spread-II/cpp-0928/) | | |
577577
| 929 | [Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/) | [solution](https://leetcode.com/problems/unique-email-addresses/) | [C++](0929-Unique-Email-Addresses/cpp-0929/) | | |
578578
| 930 | [Binary Subarrays With Sum](https://leetcode.com/problems/binary-subarrays-with-sum/) | [solution](https://leetcode.com/problems/binary-subarrays-with-sum/) | [C++](0930-Binary-Subarrays-With-Sum/cpp-0930/) | | |
579+
| 931 | [Minimum Path Falling Sum](https://leetcode.com/problems/minimum-falling-path-sum/) | [solution](https://leetcode.com/problems/minimum-falling-path-sum/) | [C++](0931-Minimum-Path-Falling-Sum/cpp-0931/) | | |
579580
| | | | | | |

0 commit comments

Comments
 (0)