221. Maximal Square 最大正方形

題目鏈接
tag:

  • Medium;
  • Dynamic Programming;

question:
??Given a 2D binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area.
Example:

Input:
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
Output: 4

思路:
??DP吴趴,建立一個(gè)二維dp數(shù)組婿牍,其中dp[i][j]表示到達(dá)(i, j)位置所能組成的最大正方形的邊長弟疆。我們首先來考慮邊界情況,也就是當(dāng)i或j為0的情況涵卵,那么在首行或者首列中忿项,必定有一個(gè)方向長度為1扁藕,那么就無法組成長度超過1的正方形,最多能組成長度為1的正方形吮旅,條件是當(dāng)前位置為1。邊界條件處理完了味咳,再來看一般情況的遞推公式怎么辦庇勃,對于任意一點(diǎn)dp[i][j],由于該點(diǎn)是正方形的右下角槽驶,所以該點(diǎn)的右邊责嚷,下邊,右下邊都不用考慮掂铐,關(guān)心的就是左邊罕拂,上邊,和左上邊全陨。這三個(gè)位置的dp值suppose都應(yīng)該算好的爆班,還有就是要知道一點(diǎn),只有當(dāng)前(i, j)位置為1辱姨,dp[i][j]才有可能大于0蛋济,否則dp[i][j]一定為0。當(dāng)(i, j)位置為1炮叶,此時(shí)要看dp[i-1][j-1], dp[i][j-1]碗旅,和dp[i-1][j]這三個(gè)位置,我們找其中最小的值镜悉,并加上1祟辟,就是dp[i][j]的當(dāng)前值了,這個(gè)并不難想侣肄,畢竟不能有0存在旧困,所以只能取交集,最后再用dp[i][j]的值來更新結(jié)果res的值即可,時(shí)間復(fù)雜度到O(n2)吼具,參見代碼如下:

class Solution {
public:
    int maximalSquare(vector<vector<char>>& matrix) {
        if(matrix.empty() || matrix[0].empty())
            return 0;
        int m=matrix.size(), n=matrix[0].size(), res=0;
        vector<vector<int> > dp(m, vector<int>(n, 0));
        for(int i=0; i<m; ++i) {
            for(int j=0; j<n; ++j) {
                if(i==0 || j==0)
                    dp[i][j] = matrix[i][j] - '0';
                else if(matrix[i][j] == '1'){
                    dp[i][j] = min(dp[i-1][j-1], min(dp[i-1][j], dp[i][j-1])) + 1;
                }
                res = max(res, dp[i][j]);
            }
        }
        return res*res;
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末僚纷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子拗盒,更是在濱河造成了極大的恐慌怖竭,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陡蝇,死亡現(xiàn)場離奇詭異痊臭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)登夫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門广匙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恼策,你說我怎么就攤上這事鸦致。” “怎么了涣楷?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵蹋凝,是天一觀的道長。 經(jīng)常有香客問我总棵,道長鳍寂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任情龄,我火速辦了婚禮迄汛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘骤视。我一直安慰自己鞍爱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布专酗。 她就那樣靜靜地躺著睹逃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祷肯。 梳的紋絲不亂的頭發(fā)上沉填,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機(jī)與錄音佑笋,去河邊找鬼翼闹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蒋纬,可吹牛的內(nèi)容都是我干的猎荠。 我是一名探鬼主播坚弱,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼关摇!你這毒婦竟也來了荒叶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤输虱,失蹤者是張志新(化名)和其女友劉穎些楣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悼瓮,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年艰猬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了横堡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡冠桃,死狀恐怖命贴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情食听,我是刑警寧澤胸蛛,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站樱报,受9級特大地震影響葬项,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜迹蛤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一民珍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盗飒,春花似錦嚷量、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宣渗,卻和暖如春抖所,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背痕囱。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工部蛇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人咐蝇。 一個(gè)月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓涯鲁,卻偏偏與公主長得像巷查,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子抹腿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)岛请。 張土汪:刷leetcod...
    土汪閱讀 12,737評論 0 33
  • 動態(tài)規(guī)劃(Dynamic Programming) 本文包括: 動態(tài)規(guī)劃定義 狀態(tài)轉(zhuǎn)移方程 動態(tài)規(guī)劃算法步驟 最長...
    廖少少閱讀 3,268評論 0 18
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,333評論 0 2
  • 分治方法 將問題劃分成互不相交的子問題 遞歸地求解子問題 將子問題的解組合起來 動態(tài)規(guī)劃(兩個(gè)要素:最優(yōu)子結(jié)構(gòu)、子...
    superlj666閱讀 497評論 0 0
  • 一警绩、主要內(nèi)容: 1.這個(gè)實(shí)驗(yàn)給我們生動地展現(xiàn)了什么叫做“路徑依賴”崇败,一旦你習(xí)慣了一件事,就像是走上了一條“不歸之路...
    玲玲A閱讀 295評論 0 1