【动态规划】leetcode - Maximal Square
生活随笔
收集整理的這篇文章主要介紹了
【动态规划】leetcode - Maximal Square
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
稱號:
Maximal Square
?
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 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 4.分析:
利用動態規劃求解。建立一個類node。node中成員變量left記錄每個點的左邊有幾個1(包含該點本身)、up記錄上邊有幾個1(包含該點本身)、maxsize記錄該點相應的最大正方形的邊長(該點在正方形右下角)。若一個點是‘0’,則其相應的node是(0,0,0).
1、用變量res記錄最大正方形的邊長。
2、先依次處理輸入矩陣matrix左上角那個點、第一行和第一列,求出這些位置的node值。
3、再依次遍歷matrix剩下的點,對每個點求出node值。并更新res。
4、返回res*res.
版權聲明:本文博主原創文章,博客,未經同意不得轉載。
總結
以上是生活随笔為你收集整理的【动态规划】leetcode - Maximal Square的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何出色的研究 RGSS3 (三) 形式
- 下一篇: 学习Java第一个月