0 1 矩陣查詢最大正方形

2021-08-08 15:51:45 字數 537 閱讀 6025

題目:乙個由0 1 矩陣組成的矩陣,如何標記處其中最大的全由1組成的正方形

演算法分析:

0.從square的乙個頂點考慮這個問題。從這個頂點橫向看,是連續的n個1;從n個1組成的行往下看,是n個全是1的行。

1.以矩陣中所有的非0元素位置開始行掃瞄,找出連續的1的個數,並賦值給該位置,形成標記行方向連續1個數的中間矩陣

2.從中間矩陣的非0元素位置開始進行列掃瞄,分析可能出現的最大矩陣。分析的因素:一是元素大小,即行方向上連續1的個數;

二是列方向上,相鄰元素的大小。三是列方向上連續非0元素的個數。四是找出最大最小值。五是優化演算法,減少計算量。最後輸出

每一元素位置上標記的以它為頂點的最大square大小的square矩陣

3.找出square矩陣的最大值,並標記位置

4.可以對square矩陣繪製成圖或者寫入excel,並在其中標識出最大square

演算法優化:

1.是0就break

2.步驟1中,連續的1的個數只用求最大的,行方向上,它後面的,可以推算出來

程式**隨後補充。

最大正方形子矩陣

題目描述 在乙個01矩陣中,包含有很多的正方形子矩陣,現在要求出這個01矩陣中,最大的正方形子矩陣,使得這個正方形子矩陣中的某一條對角線上的值全是1,其餘的全是0。輸入描述 第一行有兩個整數n和m 1 n,m 1000 接下來的n行,每行有m個0或1的數字。每兩個數字之間用空格隔開。輸出描述 輸出乙...

最大正方形

題目鏈結 在乙個n m的只包含0和1的矩陣裡找出乙個不包含0的最大正方形,輸出邊長。輸入格式 輸入檔案第一行為兩個整數n,m 1 n,m 100 接下來n行,每行m個數字,用空格隔開,0或1.輸出格式 乙個整數,最大正方形的邊長 輸入樣例 1 複製 4 4 0 1 1 1 1 1 1 0 0 1 1...

最大正方形

題解 if a i j 1 f i j min min f i j 1 f i 1 j f i 1 j 1 1 f i j 表示以節點i,j為右下角,可構成的最大正方形的邊長。只有a i j 1時,節點i,j才能作為正方形的右下角 對於乙個已經確定的f i j x,它表明包括節點i,j在內向上x個節...