力扣1314 矩陣區域和

2021-10-08 01:23:47 字數 833 閱讀 4631

很經典的題目,用矩陣的字首和求解

題目:

題意:題意比較簡單,要求你返回乙個新的矩陣,要求該矩陣的每個元素為原矩陣的某些元素的和,這些元素圍成乙個正方形,大小與給定的k值呈正相關

求解方法(以下來自力扣題解):

這個想明白以後,那麼我們在來想要怎麼計算從(0,0)到每個小塊的總和是多少?

同樣是利用字首和的思想,直接上遞推公式

dp[i][j] = dp[i-1][j] + dp[i][j-1] + mat[i][j] - dp[i-1][j-1];

class

solution

;int m=mat.

size()

,n=mat[0]

.size()

;//m*n

vector

int>>

dp(m,vector<

int>

(n,0))

,sum=dp;

//提前確定動態陣列的大小,emmmmm

//vector> dp(10,vector(10)); //10*10

//對當前矩陣進行求和

for(

int i=

0; i

for(

int i=

0; i

return sum;}}

;

leetcode 1314 矩陣區域和

給你乙個 m n 的矩陣 mat 和乙個整數 k 請你返回乙個矩陣 answer 其中每個 answer i j 是所有滿足下述條件的元素 mat r c 的和 i k r i k,j k c j k r,c 在矩陣內。示例 1 輸入 mat 1,2,3 4,5,6 7,8,9 k 1 輸出 12,...

leetcode 1314 矩陣區域和

這題不使用其他方法強行四重for也可以過,但是記憶體和時間占用可謂慘不忍睹。本題可採用矩陣字首和的方法解決,從記憶體占用到時間處理上都會好很多。第一遍 如下 感覺這題有點奇怪的簡單.先建立乙個和原矩陣相同大小的矩陣 然後使用四個判斷把rmin rmax,cmin,cmax確定下來 最後使用上述四個引...

leetcode 1314 矩陣區域和

給你乙個 m x n 的矩陣 mat 和乙個整數 k 請你返回乙個矩陣 answer 其中每個 answer i j 是所有滿足下述條件的元素 mat r c 的和 i k r i k,j k c j k 且 r,c 在矩陣內。示例 1 輸入 mat 1,2,3 4,5,6 7,8,9 k 1 輸出...