精准扶贫建设网站的目的招聘网站可以做劳务派遣吗
web/
2025/10/4 7:02:11/
文章来源:
精准扶贫建设网站的目的,招聘网站可以做劳务派遣吗,中文网站建设英文网站建设,上海域邦建设集团网站最大正方形
可以使用动态规划降低时间复杂度。用 dp(i,j) 表示以 (i,j)为右下角#xff0c;且只包含 111 的正方形的边长最大值。能计算出所有 dp(i,j)的值#xff0c;那么其中的最大值即为矩阵中只包含 111 的正方形的边长最大值#xff0c;其平方即为最大正方形的面积。 …最大正方形
可以使用动态规划降低时间复杂度。用 dp(i,j) 表示以 (i,j)为右下角且只包含 111 的正方形的边长最大值。能计算出所有 dp(i,j)的值那么其中的最大值即为矩阵中只包含 111 的正方形的边长最大值其平方即为最大正方形的面积。
如果该位置的值是 0则 dp(i,j)0因为当前位置不可能在由 111 组成的正方形中
如果该位置的值是 111则 dp(i,j)的值由其上方、左方和左上方的三个相邻位置的 dp值决定。具体而言当前位置的元素值等于三个相邻位置的元素中的最小值加 111状态转移方程如下
dp(i,j)min(dp(i−1,j),dp(i−1,j−1),dp(i,j−1))1 其中1277. 统计全为 1 的正方形子矩阵的官方题解给出了详细的证明。
此外还需要考虑边界条件。如果 i 和 j中至少有一个为 0则以位置 (i,j)为右下角的最大正方形的边长只能是 1因此 dp(i,j)1。
#includebits/stdc.h
using namespace std;
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public:int maximalSquare(vectorvectorchar matrix) {int m matrix.size();int n matrix[0].size();int dp[m][n];for (int i 0; i m; i) {for (int j 0; j n; j) {dp[i][j] -1;}}int ans 0;for (int i 0; i m; i) {for (int j 0; j n; j) {if (matrix[i][j] 0){dp[i][j] 0;continue;}if (i 0 || j 0){dp[i][j] 1;}else{dp[i][j] min(min(dp[i][j - 1], dp[i - 1][j - 1]), dp[i - 1][j]) 1;}ans max(ans, dp[i][j]);}}return ans * ans;}
};
//leetcode submit region end(Prohibit modification and deletion)int main(){Solution s;vectorvectorchar num {{1, 0, 1, 0, 0}, {1, 0, 1, 1, 1}, {1, 1, 1, 1, 1}, {1, 0, 0, 1, 0}};int a s.maximalSquare(num);cout(a);return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86653.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!