給你乙個 m * n 的矩陣,矩陣中的元素不是 0 就是 1,請你統計並返回其中完全由 1 組成的 正方形 子矩陣的個數。
示例 1:
輸入:matrix =
[[0,1,1,1],
[1,1,1,1],
[0,1,1,1]
]輸出:15
解釋:邊長為 1 的正方形有 10 個。
邊長為 2 的正方形有 4 個。
邊長為 3 的正方形有 1 個。
正方形的總數 = 10 + 4 + 1 = 15.
示例 2:
輸入:matrix =
[[1,0,1],
[1,1,0],
[1,1,0]
]輸出:7
解釋:邊長為 1 的正方形有 6 個。
邊長為 2 的正方形有 1 個。
正方形的總數 = 6 + 1 = 7.
#include
#include
#include
using namespace std;
class solution
else
if(matrix[i]
[j]==0)
else
result_count+
=dp[i]
[j];}}
return result_count;}}
;
1277 統計全為 1 的正方形子矩陣(動態規劃)
1.問題描述 2.思路分析 一開始的時候對於也想到了應該會是動態規劃的思路來解決,但是沒有想到具體的解決方案,動態規劃的難點一般也是在這裡,在官方的題解中提供的思路是使用乙個二維的list列表來記錄中間的結果,dp i j 表示以當前的i,j位置的正方形的個數,能夠想到這個思路也是非常巧妙的,當是第...
二維陣列4 求全為1正方形221 1277
在乙個二維矩陣中找到最大的全是1的正方形,這個題若dp i j 表示以這個點為右下角的正方形的邊長,則它的平方就是這個正方形的面積 它的值可以由上下左上角上個點的最小值得到,因為他們三個都是1才能保證這個值也可以加進來。class solution else if matrix i j 0 0 el...
LeetCode 最大正方形
在乙個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。示例 輸入 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 輸出 4 思路分析 使用動態規劃。轉移方程為dp row col 1 min dp row 1 col 1 min dp r...