求最大子矩陣的大小

2021-09-01 09:09:35 字數 720 閱讀 5704

給定乙個整型矩陣map,其中的值只有0和1兩種,求其中全是1的所有矩形區域中,最大矩形區域為1的數量。

時間複雜度達到o(mn)

具體思路請參考原書

#include

#include

#include

using

namespace std;

intmaxrecfrombottom

(int

* height,

int len)

s.push

(i);

}while

(!s.

empty()

)return maxarea;

}int

maxrecsize

(int

* map,

int m,

int n)

maxarea =

max(

maxrecfrombottom

(height, n)

, maxarea);}

return maxarea;

}int

main()

}int maxa =

maxrecsize

(map, m, n)

; cout << maxa << endl;

getchar()

;return0;

}

求最大子矩陣的大小

題目 給定乙個整型矩陣map,其中的值只有0和1兩種,求其中全是1的所有矩陣區域中,最大的矩形區域為1的數量。思路 步驟1 矩陣的行數為n,以每一行做切割,統計以當前行作為底的情況下,每個位置往上的1的數量。使用高度陣列height來表示。例如 map 1 0 1 1 1 1 1 1 1 1 1 0...

求最大子矩陣的大小

說明 本文是左程雲老師所著的 程式設計師面試 指南 第一章中 求最大子矩陣的大小 這一題目的c 復現。感謝左程雲老師的支援。題目 給定乙個整型矩陣 map,其中的值只有 0 和 1 兩種,求其中全是1的所有矩形區域中,最大的矩形區域為1的數量。例如 1 1 1 0 其中,最大的矩形區域有 3 個 1...

棧和佇列 求最大子矩陣的大小

題目 給定乙個整型矩陣map,其中的值只有0和1兩種,求其中全是1的所有矩形區域中,最大的矩形區域為1的數量。例如 1 0 1 1 1 1 1 1 1 1 1 0 其中,最大的矩形區域有6個1,所以返回6.題目 如果矩陣的大小是o n m 本題可以做到時間複雜度為o n m 1 矩陣的行數是n,以每...