LeetCode 最大正方形

在一個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,并返回其面積。

示例:

輸入: 1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0輸出: 4
解法:判斷以某個點為正方形右下角時最大的正方形時,那它的上方,左方和左上方三個點也一定是某個正方形的右下角,否則該點為右下角的正方形最大就是它自己了。
我們知道,該點為右下角的正方形的最大邊長,最多比它的上方,左方和左上方為右下角的正方形的邊長多1,最好的情況是是它的上方,左方和左上方為右下角的正方形的大小都一樣的,這樣加上該點就可以構成一個更大的正方形。
但如果它的上方,左方和左上方為右下角的正方形的大小不一樣,合起來就會缺了某個角落,這時候只能取那三個正方形中最小的正方形的邊長加1了。
class Solution {
public:int maximalSquare(vector<vector<char>>& matrix) {if(matrix.empty() || matrix[0].empty()) return 0;int n=matrix.size(),m=matrix[0].size();int ans=0;int dp[n][m];memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){if(matrix[i][0]=='1'){dp[i][0]=1;ans=1;}}for(int i=0;i<m;i++){if(matrix[0][i]=='1'){dp[0][i]=1;ans=1;}}for(int i=1;i<n;i++){for(int j=1;j<m;j++){if(matrix[i][j]=='1')dp[i][j]=min(dp[i-1][j-1],min(dp[i-1][j],dp[i][j-1]))+1;ans=max(ans,dp[i][j]);}}return ans*ans;}
};

?

轉載于:https://www.cnblogs.com/jkzr/p/10610105.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/278087.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/278087.shtml
英文地址,請注明出處:http://en.pswp.cn/news/278087.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

solidity字符串拼接

如果你希望馬上開始學習以太坊DApp開發&#xff0c;可以訪問匯智網提供的出色的在線互動教程&#xff1a; 以太坊DApp實戰開發入門去中心化電商DApp實戰開發當你開始學習使用solidity開發以太坊智能合約之后&#xff0c;很快你會碰到一個問題&#xff1a; 在solidity中該如何拼…

Confluence Cloud的Teams Message Extension

Confluence Cloud的Message Extension現在正式登入Microsoft Teams。 它可用于團隊頻道和私人聊天&#xff0c;使您的對話更具描述性和信息性。 從Microsoft Teams應用商店獲取Confluence Cloud應用程序并連接到Confluence Cloud實例。 連接后&#xff0c;您將能夠搜索Conflue…

45 | 打蛇打七寸:精準測試

轉載于:https://www.cnblogs.com/lmx0621/p/10614966.html

Teams App統計

周末閑來無事&#xff0c;統計了一下Teams的app商店里的app ( Teams App Store )。截至到現在&#xff08;2018年11月&#xff09;一共有145個app。要注意一點&#xff1a;如果app不是公開的&#xff08;即單獨安裝到Office365租戶里&#xff0c;并沒有提交到office store&…

你必須要懂的APK瘦身知識

隨著業務復雜度的逐漸增加&#xff0c;代碼、資源也在不斷的增加&#xff0c;此時你的APP大小也在增加。從用戶層面來說&#xff0c;面對動輒幾十兆的APP來說在非WIFI情況下還是會猶豫要不要下載&#xff0c;不下載你就可能因此失去了一個用戶。從公司層面來講&#xff0c;流量…

DHT網絡

(基礎技術) 現在有一種方法&#xff0c;可以通過磁力鏈接&#xff0c;例如magnet:?xturn:btih:0482e0811014fd4cb5d207d08a7be616a4672daa&#xff0c;就可以獲取BT文件。 這個是通過DHT網絡來實現的。 DHT網絡是一個去中心化的&#xff0c;分布式信息存儲系統。 存儲的信息就…

Java基礎 Day04(個人復習整理)

分支結構 2、switch語句 因為if語句的級聯式最多只會處理三種情況&#xff0c;如果出現多情況 1>可以繼續使用if語句的級聯式&#xff0c;但是可能代碼的可讀性就會變差。  2>采用switch語句來解決。 switch語法格式&#xff1a; switch (存在多種情況的變量) {case 值…

java如何獲取一個double的小數位數

前言 看標題是不是覺得這是一個很簡單的問題&#xff0c;我一開始也是這么認為的&#xff0c;但是實際情況下&#xff0c;在各種情況下我們都進行了測試&#xff0c;發現很多實際情況是無法不盡如人意的。 方法分析 當前能想到的比較容易有下面幾種 1、直接使用double處理 2、將…

Node文件模塊

在上一篇文章中有提到&#xff0c;Node模塊分為核心模塊和文件模塊&#xff0c;接下來就簡單總結一下文件模塊。 文件模塊則是在運行時動態加載&#xff0c;需要完整的路徑分析、文件定位、編譯執行過程、速度相比核心模塊稍微慢一些&#xff0c;但是用的非常多。這些模塊需要我…

PHP GD庫解析一張簡單圖片并輸出

這里只演示一下2種顏色值的圖片&#xff0c;簡單描述下概念。 首先要安裝下GD庫。否則下面的代碼運行不了。 $size getimagesize(2.png); // 獲取圖片大小 $res imagecreatefrompng(2.png); // 獲取指定圖片的資源對象for ($i 0; $i < $size[1]; $i) {for ($j 0; $j &…

Permutations CodeForces - 736D (矩陣逆)

對于刪除每個對(x,y), 可以發現他對答案的貢獻為代數余子式$A_{xy}$ 復習了一下線代后發現代數余子式可以通過伴隨矩陣求出, 即$A_{xy}A^*[y][x]$, 伴隨矩陣$A^*|A|A^{-1}$可以通過高斯消元$O(\frac{n^3}{\omega})$求出 #include <iostream> #include <algorithm> …

開發Teams的messaging extension

什么是Messaging Extension Messaging Extension是微軟Teams的一種十分有用的擴展方式。可以讓用戶發送adaptive cards。具體的說明不在這里展開了。可以閱讀微軟官方的詳細說明&#xff1a; https://docs.microsoft.com/en-gb/microsoftteams/platform/concepts/messaging-e…

歸并排序(轉)

轉載自&#xff1a;https://www.cnblogs.com/chengxiao/p/6194356.html 歸并排序&#xff08;MERGE-SORT&#xff09;是利用歸并的思想實現的排序方法&#xff0c;該算法采用經典的分治&#xff08;divide-and-conquer&#xff09;策略&#xff08;分治法將問題分(divide)成一些…

Site24x7 為Teams提供可智能 DevOps

我們生活在一個云的時代, SaaS 應用程序每天都在推動我們的生產力。作為一個消費者, 很難想象如果你最喜歡的應用無法訪問&#xff0c;即使只是一秒鐘無法訪問。作為 SaaS業務, 更難以想象您的服務面臨停機, 每一分鐘停止服務都會花費大量的資金, 當然還損失客戶的信任。Site24…

XUbuntu22.04之跨平臺容器格式工具:MKVToolNix(二百零三)

簡介&#xff1a; CSDN博客專家&#xff0c;專注Android/Linux系統&#xff0c;分享多mic語音方案、音視頻、編解碼等技術&#xff0c;與大家一起成長&#xff01; 優質專欄&#xff1a;Audio工程師進階系列【原創干貨持續更新中……】&#x1f680; 優質專欄&#xff1a;多媒…

redis集群搭建踩坑筆記

推薦參考教程&#xff1a;https://blog.csdn.net/pucao_cug/article/details/69250101 錯誤&#xff1a; from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require from /usr/local/redis-3.0.6/src/redis-trib.rb:25:in <main> 解決&#xff1a; g…

Docker 創建鏡像

文章首發自個人網站&#xff1a;https://www.exception.site/docker/docker-create-image 本文中&#xff0c;您將學習 Docker 如何創建鏡像&#xff1f;Docker 創建鏡像主要有三種&#xff1a; 基于已有的鏡像創建&#xff1b;基于 Dockerfile 來創建&#xff1b;基于本地模板…

hdfoo站點開發筆記

為了安全,也要兼顧編輯器切換管理 開發時不必管目錄名稱的事, 只是在部署的時候,才修改應用目錄和tp目錄的名字就行了. 為了提高tp的加載效率, 始終給app和tp以絕對路徑.就是以 realpath來定位 realpath返回的就是 一個絕對路徑, 在lx中是以 斜杠 根樹開始的. 參數可以是文件名…

論文致謝

這篇致謝語&#xff0c;是我論文的最后一節&#xff0c;也是我放在最后的最后寫的內容。之所以拖到最后&#xff0c;是因為我不知道該用怎么的方式來結束我的論文。我想&#xff0c;要結束的不只是文章&#xff0c;還是研究生生涯&#xff0c;是我在廈門大學三年來的一切&#…

使用Azure Pipelines來實現Teams App的CI

我在之前的文章里介紹了如何一步步配置CI/CD來部署Teams App( 之前的文章 )&#xff0c;隨著Azure DevOps的發展&#xff0c;微軟推出了Azure Pipelines。在這篇文章中&#xff0c;主要介紹什么是Azure Pipelines&#xff0c;以及如何使用Azure Pipelines來進行Teams App的構建…