2012-11-11 27 views
3

我正在尋找一種算法,可以快速找到0的矩形,其矩陣的隨機數字0-9不小於X和Y的長度。什麼是在2d矩陣中用Y零找到X的快速算法?

我自己只是掃描0,看看是否有相鄰的矩形,如果沒有,繼續。這很慢,所以也許有一些更快。

+0

長方形應該用「0」填充嗎? – driis

+0

是的,絕對。該矩形只能由零組成。 – user1306322

+3

你可以發佈你的算法,因爲我不明白你的解釋。 – LightStriker

回答

1

創建一個與原始大小相同的表格。垂直掃描原始數據並計算上面包括當前字段的連續零的數量,將其寫入新表格。

掃描原始表格水平計算左側包括當前字段的連續零的數量。然後,對於每個字段,這兩個數字會告訴您以該字段結尾的矩形的大小。

解決方案的其餘部分取決於您未指定的部分問題。也許你可以在足夠大的時候輸出它們,也許你需要添加一些測試來檢查你是否在矩形的右下角。

+0

所以應該有一個新的原始矩陣大小的點陣,每個點的座標都保持零填充字段的大小,並且在它的左邊(點)? – user1306322

+1

@ user1306322是的,這是一種方法。您可能可以通過在第二次掃描期間直接檢查輸出條件來省略第二個表格。 – CodesInChaos

+0

看來你的方法是錯誤的,例如,[1 0; 0 0],你的方法會用2x2矩陣輸出錯誤的答案,對吧? – shilk

相關問題