leetcode 統計全為 的正方形子矩陣

2021-10-07 12:00:53 字數 717 閱讀 1039

給你乙個 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...