#include <leetcode.h>
◆ maximalSquare()
int leetcode::maximal_square::Solution::maximalSquare |
( |
vector< vector< char > > & |
matrix | ) |
|
|
static |
在文件 leetcode.cpp 第 8734 行定义.
8735 const int m = matrix.size();
8736 const int n = matrix[0].size();
8737 vector horizontal_next_1s(m, vector(n, 0));
8738 vector vertical_next_1s(m, vector(n, 0));
8739 vector dp(m + 1, vector(n + 1, 0));
8740 for(
int i = 0; i < m; i++) {
8742 for(
int j = n - 1; j >= 0; j--) {
8743 if(matrix[i][j] ==
'1') {
8748 horizontal_next_1s[i][j] = cnt;
8751 for(
int j = 0; j < n; j++) {
8753 for(
int i = m - 1; i >= 0; i--) {
8754 if(matrix[i][j] ==
'1') {
8759 vertical_next_1s[i][j] = cnt;
8763 for(
int i = m - 1; i >= 0; i--) {
8764 for(
int j = n - 1; j >= 0; j--) {
8765 if(matrix[i][j] ==
'1') {
8766 dp[i][j] = min(min(vertical_next_1s[i][j], horizontal_next_1s[i][j]), 1 + dp[i + 1][j + 1]);
8767 ans = max(ans, dp[i][j]);
被这些函数引用 leetcode::maximal_square::TEST().
该类的文档由以下文件生成: