最大矩形+單調棧

題目:
在這里插入圖片描述
思考1:

  1. 利用柱形圖最大矩形的思想
  2. 對于矩陣的每一行看作是柱形圖的地基
  3. 對每一行(認定為柱形圖)執行找最大矩形

實現:

class Solution {
public:int maximalRectangle(vector<vector<char>>& matrix) {int m=matrix.size();int n=matrix[0].size();vector<vector<int>>m_v(m,vector<int>(n,0));for (int i=0;i<m;i++){for (int j=0;j<n;j++){if (matrix[i][j]=='1'){if (i>0)m_v[i][j]=m_v[i-1][j]+1;elsem_v[i][j]=1;}}}int ret=0;for(int i=0;i<m;i++){stack<int> stk;for (int j=0;j<n;j++){while (!stk.empty()&&m_v[i][j]<m_v[i][stk.top()]){int top=stk.top();stk.pop();while(!stk.empty()&&m_v[i][stk.top()]==m_v[i][top]){stk.pop();}if (stk.empty()){ret=max(ret,j*m_v[i][top]);}else{ret=max(ret,(j-stk.top()-1)*m_v[i][top]);}}stk.push(j);}while(!stk.empty()){int top=stk.top();stk.pop();while(!stk.empty()&&m_v[i][stk.top()]==m_v[i][top]){stk.pop();}if (stk.empty()){ret=max(ret,n*m_v[i][top]);}else{ret=max(ret,(n-stk.top()-1)*m_v[i][top]);}}}return ret;}
};

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

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

相關文章

NewsNow搭建喂飯級教程

大家在自媒體寫文章里遇到最難的問題便是查找題材了&#xff0c;隨便選擇的題材沒多少人會去看&#xff0c;平臺也不會給流量推送&#xff0c;所以&#xff0c;只有圍繞熱門題材去進行文章創作&#xff0c;才能得到平臺的重點推送以及大家的關注&#xff01; 在做這個功能前&a…

大疆無人機平臺 資源開放

一、部署包說明 目前基于大疆上云api開發的平臺經過多輪測試&#xff0c;已經有了個穩定的版本&#xff0c;并且有山東濱州、陜西西安、河南鄭州、上海、廣東深圳、廣東廣州、寧夏以及安徽等各地的用戶使用在公路巡檢、森林防火、電力巡查等行業中。 下面將會先將部署包免費開…

惡劣天氣下漏檢率↓79%!陌訊多模態時序融合算法在道路事故識別的實戰優化

原創聲明 本文為原創技術解析文章&#xff0c;核心技術參數與架構設計引用自 “陌訊技術白皮書&#xff08;道路事故識別專項版&#xff09;”&#xff0c;禁止任何形式的抄襲與轉載。文中代碼示例、性能數據均來自實測驗證&#xff0c;技術描述已完成差異化重寫&#xff0c;不…

visual studio編譯的軟件查找所依賴的運行庫方法

使用visual studio編譯生成的exe軟件&#xff0c;在單獨運行的時候&#xff0c;總是會提示vs運行庫找不到&#xff0c;比如vcruntime140.dll&#xff0c;msvcp140d.dll等找不到&#xff0c;此時如果在開發電腦中查找&#xff0c;會找出一堆各種版本的同名字動態庫來&#xff0c…

ARINC 825板卡的應用

ARINC概覽AEEC&#xff08;航空電子工程委員會&#xff09;是SAE ITC&#xff08;SAE行業技術聯盟&#xff09;的下屬機構之一&#xff0c;旨在為航空業制定標準。SAE ITC下設多個委員會和分委員會&#xff0c;各委員會設工作組負責制定航空電子設備和系統的各種標準。其中&…

試析微劇《云端愛人》:AI時代的數字愛情寓言與情感覺醒

《云端愛人》作為一部聚焦人工智能與人類情感關系的短劇&#xff0c;其文本價值遠超普通都市愛情題材&#xff0c;可視為數字化時代的情感寓言。以下從社會鏡像、敘事張力、哲學思辨三個維度展開深度解析&#xff1a;一、「賽博戀愛」的社會預演&#xff1a;當代人的情感代償機…

多線程下單例如何保證

系列文章目錄 文章目錄系列文章目錄一、方法1、懶漢式雙重檢查鎖2、餓漢式靜態初始化3、使用靜態內部類&#xff08;懶漢式的一種變體&#xff09;4、使用 AtomicReference5、使用依賴注入框架&#xff0c;Spring一、方法 懶漢式&#xff1a;延遲加載&#xff0c;第一次調用get…

Java的數字計算

目錄 一、基本數據類型 二、包裝類 三、精確計算&#xff1a;BigDecimal 四、大整數&#xff1a;BigInteger 五、實際應用示例&#xff1a;RSA 加密算法核心計算 一、基本數據類型 這是進行數字計算最高效的方式&#xff0c;直接在棧上分配內存。它們分為整數型和浮點型。…

手寫MyBatis第32彈-設計模式實戰:Builder模式在MyBatis框架中的精妙應用

&#x1f942;(???)您的點贊&#x1f44d;?評論&#x1f4dd;?收藏?是作者創作的最大動力&#x1f91e;&#x1f496;&#x1f4d5;&#x1f389;&#x1f525; 支持我&#xff1a;點贊&#x1f44d;收藏??留言&#x1f4dd;歡迎留言討論&#x1f525;&#x1f525;&am…

小白成長之路-k8s原理(一)

文章目錄前言一、k8s組件1.1master部分1.2node節點二、網絡2.1網絡模型2.2CNI2.3流程2.4網絡解決方案2.5網絡模式三、資源清單3.1概述3.2常見的資源3.3資源清單的編寫四、Pod4.1概念圖4.2pause4.3概述4.4pod生命周期4.5pod探針4.6鉤子4.7pod控制器1.RC 控制器2.RS控制器3.deplo…

木筏求生 PC/手機雙端 單機+聯機(Raft)免安裝中文版

網盤鏈接&#xff1a; 木筏求生 免安裝中文版 名稱&#xff1a;木筏求生 PC/手機雙端 單機聯機&#xff08;Raft&#xff09;免安裝中文版 描述&#xff1a; 無論是獨自一人還是與朋友一起&#xff0c;你的任務是在危險的海洋中度過一場史詩般的海洋冒險 &#xff01;收集…

vue中v-show 和 v-if 指令的區別

v-show 和 v-if 是 Vue.js 中兩個非常重要的指令&#xff0c;都用于條件性地顯示或隱藏元素&#xff0c;但它們的實現方式和適用場景有本質區別。 簡單來說&#xff0c;最核心的區別是&#xff1a; v-if 是 “真正的”條件渲染&#xff0c;它會確保在切換過程中條件塊內的事件監…

Linux中iptables命令

iptables 命令詳解iptables 是 Linux 系統內核級防火墻工具&#xff0c;用于配置、維護和檢查 IPv4 數據包過濾規則&#xff08;IPv6 使用 ip6tables&#xff09;。以下是核心用法&#xff1a;一、基本概念表&#xff08;Tables&#xff09;filter&#xff1a;默認表&#xff0…

【springboot 技術代碼】集成mongodb 詳細步驟

SpringBoot 深度集成 MongoDB 詳細步驟1. MongoDB 簡介與 SpringBoot 集成概述1.1 SpringBoot 集成 MongoDB 的優勢2. 環境準備與依賴配置2.1 版本兼容性矩陣2.2 詳細依賴配置2.3 詳細配置說明2.3.1 單節點配置2.3.2 集群配置3. 實體映射與集合管理3.1 詳細實體類注解3.2 索引管…

云計算-K8s 運維:Python SDK 操作 Job/Deployment/Pod+RBAC 權限配置及自定義 Pod 調度器實戰

簡介 在 Kubernetes 運維中,自動化資源管理與定制化調度是提升效率的核心需求,而 Python SDK 是實現這一目標的關鍵工具。本次圍繞 K8s Python SDK 展開全場景實戰,以 “代碼 + 效果” 雙維度,覆蓋 5 大核心運維場景,Job 自動化創建(先清理重名資源再部署計算任務)、De…

Excel 轉化成JSON

Excel 轉化成JSON import pandas as pd import json import osdef excel_to_json(excel_path, sheet_name0, orientrecords, save_pathNone):"""將Excel文件轉換為JSON格式并可選擇保存到文件參數:excel_path: Excel文件路徑sheet_name: 工作表名稱或索引&#…

Linux 進階用法

一、系統性能調優系統性能調優是 Linux 管理中的關鍵技能&#xff0c;它能顯著提升系統在不同應用場景下的表現。通過針對性的調優&#xff0c;可以解決資源瓶頸問題&#xff0c;提高服務響應速度&#xff0c;優化資源利用率。&#xff08;一&#xff09;CPU 性能調優知識點詳解…

14.蘋果ios逆向-app的調試方式

免責聲明&#xff1a;內容僅供學習參考&#xff0c;請合法利用知識&#xff0c;禁止進行違法犯罪活動&#xff01; 內容參考于&#xff1a;圖靈Python學院 工具下載&#xff1a; 鏈接&#xff1a;https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取碼&#xff1…

深入理解 React useEffect

一、useEffect基礎概念 1、什么是副作用&#xff08;Side Effects&#xff09;&#xff1f; 在React中&#xff0c;副作用是指那些與組件渲染結果無關的操作&#xff0c;例如&#xff1a; 數據獲取&#xff08;API調用&#xff09;手動修改DOM設置訂閱或定時器記錄日志 2、useE…

Yapi中通過MongoDB修改管理員密碼與新增管理員

如何在Docker部署的Yapi中通過MongoDB修改管理員密碼與新增管理員便捷管理Yapi權限&#xff1a;無需前端重置&#xff0c;直接通過數據庫操作修改密碼及添加管理員一、進入MongoDB容器并連接數據庫 首先&#xff0c;通過以下命令進入運行中的MongoDB容器&#xff1a; docker ex…