国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

leetcode85. Maximal Rectangle

jhhfft / 357人閱讀

摘要:題目要求輸入一個(gè)二維數(shù)組,其中代表一個(gè)小正方形,求找到數(shù)組中最大的矩形面積。思路一用二維數(shù)組存儲(chǔ)臨時(shí)值的一個(gè)思路就是通過存儲(chǔ)換效率。從而省去了許多重復(fù)遍歷,提高效率。這里我使用兩個(gè)二維數(shù)組來分別記錄到為止的最大長度和最大高度。

題目要求
Given a 2D binary matrix filled with 0"s and 1"s, find the largest rectangle containing only 1"s and return its area.

For example, given the following matrix:

1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
Return 6.

輸入一個(gè)二維char數(shù)組,其中1代表一個(gè)小正方形,求找到數(shù)組中最大的矩形面積。

思路一:用二維數(shù)組存儲(chǔ)臨時(shí)值

dp的一個(gè)思路就是通過存儲(chǔ)換效率。也就是說,我將前序遍歷過程中的一些有效值存儲(chǔ)下來,以供后序遍歷參考。從而省去了許多重復(fù)遍歷,提高效率。這里我使用兩個(gè)二維int數(shù)組來分別記錄到matrix[i][j]為止的最大長度和最大高度。如果matrixi不是最左側(cè)和最上側(cè)的點(diǎn),還需要判斷其所能構(gòu)成的最大矩形。

    public int maximalRectangle(char[][] matrix) {
        if(matrix.length==0 || matrix[0].length==0) return 0;
        int row = matrix.length;
        int column = matrix[0].length;
        //最大橫向值
        int[][] maxRow = new int[row][column];
        //最大縱向值
        int[][] maxColumn = new int[row][column];
        //最大面積
        int maximal = 0;
        for(int i = 0 ; i

在該算法上可以實(shí)現(xiàn)的簡單優(yōu)化,是將初始的char[][]數(shù)組作為記錄maxRow的值,再new一個(gè)int[]數(shù)組記錄當(dāng)前行maxColumn的值,從而減少了一些存儲(chǔ)空間的消耗。核心思路不變,在這里就不貼上代碼了。

思路二:棧
    public int maximalRectangle2(char[][] matrix) {
        if (matrix==null||matrix.length==0||matrix[0].length==0)
            return 0;
        int cLen = matrix[0].length;    // column length
        int rLen = matrix.length;       // row length
        // height array 
        int[] h = new int[cLen+1];
        h[cLen]=0;
        int max = 0;
        
        
        for (int row=0;row s = new Stack();
            for (int i=0;imax)
                            max = area;
                    }
                    s.push(i);
                }
            }
        }
        return max;
    }


想要了解更多開發(fā)技術(shù),面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關(guān)注我的微信公眾號(hào)!將會(huì)不定期的發(fā)放福利哦~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/67517.html

相關(guān)文章

  • [leetcode]85. Maximal Rectangle

    摘要:對(duì)于一個(gè)矩形,可以用最高可能的高度來唯一標(biāo)記該矩形。剩下的寬度由該最高高度所表示矩形的最左邊界和最右邊界得出。 Given a 2D binary matrix filled with 0s and 1s, find the largest rectangle containing only 1s and return its area.For example, given the ...

    stackvoid 評(píng)論0 收藏0
  • 85. Maximal Rectangel

    摘要:題目解答這題思路很重要,一定要理清和的參數(shù)之間的關(guān)系,那么就事半功倍了。表示從左往右到,出現(xiàn)連續(xù)的的第一個(gè)座標(biāo),表示從右往左到出現(xiàn)連續(xù)的的最后一個(gè)座標(biāo),表示從上到下的高度。見上述例子,保證了前面的數(shù)組是正方形且沒有的最小矩形, 題目:Given a 2D binary matrix filled with 0s and 1s, find the largest rectangle co...

    Corwien 評(píng)論0 收藏0
  • [Leetcode] Largest Rectangle (in Histogram) 最大矩形

    摘要:以此類推,如果一直到棧為空時(shí),說明剛出來的豎條之前的所有豎條都比它自己高,不然不可能棧為空,那我們以左邊全部的寬度作為長方形的寬度。 Largest Rectangle in Histogram Given n non-negative integers representing the histograms bar height where the width of each bar...

    鄒強(qiáng) 評(píng)論0 收藏0
  • [LintCode/LeetCode] Maximal Square

    摘要:類似這種需要遍歷矩陣或數(shù)組來判斷,或者計(jì)算最優(yōu)解最短步數(shù),最大距離,的題目,都可以使用遞歸。 Problem Given a 2D binary matrix filled with 0s and 1s, find the largest square containing all 1s and return its area. Example For example, given t...

    Drinkey 評(píng)論0 收藏0
  • [Leetcode] Maximal Square 最大正方形

    摘要:但如果它的上方,左方和左上方為右下角的正方形的大小不一樣,合起來就會(huì)缺了某個(gè)角落,這時(shí)候只能取那三個(gè)正方形中最小的正方形的邊長加了。假設(shè)表示以為右下角的正方形的最大邊長,則有當(dāng)然,如果這個(gè)點(diǎn)在原矩陣中本身就是的話,那肯定就是了。 Maximal Square Given a 2D binary matrix filled with 0s and 1s, find the larges...

    xiaowugui666 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

jhhfft

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<