在一个农场中,有一块由 ‘C’(代表奶牛)和 ‘E’(代表空地)组成的二维矩阵地块,找到只包含 ‘C’ 的最大正方形,并返回其面积。
区块链毕设网qklbishe.com为您提供问题的解答
在一个农场中,有一块由 ‘C’(代表奶牛)和 ‘E’(代表空地)组成的二维矩阵地块,找到只包含 ‘C’ 的最大正方形,并返回其面积。
#include <vector>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param land char字符型vector<vector<>>
* @return int整型
*/
int maximalSquare(vector<vector<char> >& land) {
// write code here
// 以i,j为右下角端点,且只包含’C’的正方形,最大的宽度
vector<vector<int> > dp(land.size(), vector<int>(land[0].size()));
int width = 0;
for (int i = 0; i < land.size(); ++i) {
dp[i][0] = land[i][0] == ‘C’;
}
for (int j = 0; j < land[0].size(); ++j) {
dp[0][j] = land[0][j] == ‘C’;
}
for (int i = 1; i < land.size(); ++i) {
for (int j = 1; j < land[0].size(); ++j) {
dp[i][j] = land[i][j] == ‘C’ ? 1 + min(dp[i – 1][j – 1], min(dp[i – 1][j], dp[i][j – 1])) : 0;
width = max(width, dp[i][j]);
}
}
return width * width;
}
};
02:59
以上就是关于问题在一个农场中,有一块由 ‘C’(代表奶牛)和 ‘E’(代表空地)组成的二维矩阵地块,找到只包含 ‘C’ 的最大正方形,并返回其面积。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训