国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

做網(wǎng)站個(gè)人怎么簽合同長(zhǎng)沙全網(wǎng)覆蓋的網(wǎng)絡(luò)推廣

做網(wǎng)站個(gè)人怎么簽合同,長(zhǎng)沙全網(wǎng)覆蓋的網(wǎng)絡(luò)推廣,深圳坪山最新消息,手機(jī)如做網(wǎng)站84.柱狀圖中最大的矩形 力扣題目鏈接 給定 n 個(gè)非負(fù)整數(shù)&#xff0c;用來(lái)表示柱狀圖中各個(gè)柱子的高度。每個(gè)柱子彼此相鄰&#xff0c;且寬度為 1 。 求在該柱狀圖中&#xff0c;能夠勾勒出來(lái)的矩形的最大面積。 1 < heights.length <10^5 0 < heights[i] < 10^…

84.柱狀圖中最大的矩形

力扣題目鏈接

給定 n 個(gè)非負(fù)整數(shù),用來(lái)表示柱狀圖中各個(gè)柱子的高度。每個(gè)柱子彼此相鄰,且寬度為 1 。

求在該柱狀圖中,能夠勾勒出來(lái)的矩形的最大面積。

img

img

  • 1 <= heights.length <=10^5

  • 0 <= heights[i] <= 10^4

  • 暴力解法

class Solution {public int largestRectangleArea(int[] heights) {int res=0;for(int i=0;i<heights.length;i++){int left=i;int right=i;for(;left>=0;left--){if(heights[left]<heights[i]) break;}for(;right<heights.length;right++){if(heights[right]<heights[i]) break;}int w=right-left-1;int h=heights[i];res=Math.max(res,w*h);}return res;}
}
  • 單調(diào)棧解法

求左右兩邊小的, 用單調(diào)遞減棧

主要就是分析清楚如下三種情況:

  • 情況一:當(dāng)前遍歷的元素heights[i]大于棧頂元素heights[st.top()]的情況
  • 情況二:當(dāng)前遍歷的元素heights[i]等于棧頂元素heights[st.top()]的情況
  • 情況三:當(dāng)前遍歷的元素heights[i]小于棧頂元素heights[st.top()]的情況

頭尾要加0 ,如果數(shù)組本身就是升序的,例如[2,4,6,8],那么入棧之后 都是單調(diào)遞減,一直都沒(méi)有走 情況三 計(jì)算結(jié)果的哪一步,所以最后輸出的就是0了,那么結(jié)尾加一個(gè)0,就會(huì)讓棧里的所有元素,走到情況三的邏輯。如圖:

img

那么結(jié)尾加一個(gè)0,就會(huì)讓棧里的所有元素,走到情況三的邏輯。

開頭為什么要加元素0?

如果數(shù)組本身是降序的,例如 [8,6,4,2],在 8 入棧后,6 開始與8 進(jìn)行比較,此時(shí)我們得到 mid(8),rigt(6),但是得不到 left。

(mid、left,right 都是對(duì)應(yīng)版本一里的邏輯)

因?yàn)?將 8 彈出之后,棧里沒(méi)有元素了,那么為了避免空棧取值,直接跳過(guò)了計(jì)算結(jié)果的邏輯。

之后又將6 加入棧(此時(shí)8已經(jīng)彈出了),然后 就是 4 與 ??谠?8 進(jìn)行比較,周而復(fù)始,那么計(jì)算的最后結(jié)果resutl就是0。 如圖所示:

img

所以我們需要在 height數(shù)組前后各加一個(gè)元素0。

整體代碼如下:

class Solution {public int largestRectangleArea(int[] heights) {int res=0;int[] newheights=new int[heights.length+2];System.arraycopy(heights,0,newheights,1,heights.length);newheights[0]=0;newheights[heights.length+1]=0;Deque<Integer> stack=new LinkedList<>();stack.push(0);for(int i=1;i<newheights.length;i++){while(!stack.isEmpty()&&newheights[i]<newheights[stack.peek()]){int mid=stack.peek();stack.pop();int w=i-stack.peek()-1;int h=newheights[mid];res=Math.max(res,w*h);}stack.push(i);}return res;}
}
http://aloenet.com.cn/news/33953.html

相關(guān)文章:

  • 網(wǎng)站設(shè)計(jì)效果專業(yè)樂(lè)云seoseo優(yōu)化專員招聘
  • b2b電商網(wǎng)站建設(shè)總推薦榜總點(diǎn)擊榜總排行榜
  • 手機(jī)商城網(wǎng)站如何開發(fā)一個(gè)網(wǎng)站
  • 免費(fèi)的行情軟件網(wǎng)站不用下載站內(nèi)搜索工具
  • 東莞專業(yè)網(wǎng)站設(shè)計(jì)咨詢線上運(yùn)營(yíng)推廣
  • 網(wǎng)頁(yè)游戲排行榜前十名wangyiseo培訓(xùn)班 有用嗎
  • 天河網(wǎng)站建設(shè)制作百度客戶端電腦版下載
  • 怎么做一個(gè)論壇網(wǎng)站關(guān)鍵詞排名網(wǎng)絡(luò)推廣
  • 安卓app開發(fā)框架??趕eo計(jì)費(fèi)
  • 怎么做輪胎網(wǎng)站google官方入口
  • qq刷贊網(wǎng)站怎么做的谷歌瀏覽器網(wǎng)頁(yè)版入口
  • 靜態(tài)雙語(yǔ)企業(yè)網(wǎng)站后臺(tái)源碼手機(jī)網(wǎng)站建設(shè)
  • 蘋果app如何做ppt模板下載網(wǎng)站一個(gè)產(chǎn)品的宣傳和推廣方案
  • wordpress自適應(yīng)模版seow
  • 網(wǎng)站開發(fā)的基本條件廣州網(wǎng)站優(yōu)化公司
  • 德陽(yáng)網(wǎng)站建設(shè)重慶seo論壇
  • 畢設(shè)網(wǎng)站可以用axure做嗎優(yōu)化服務(wù)公司
  • sql網(wǎng)站模板拼多多代運(yùn)營(yíng)公司十大排名
  • 在家做兼職的比較靠譜的網(wǎng)站互聯(lián)網(wǎng)銷售
  • 做地推的網(wǎng)站關(guān)鍵詞排名怎么做上首頁(yè)
  • 網(wǎng)絡(luò)廣告網(wǎng)站怎么做百度小說(shuō)排行榜總榜
  • 微信小程序開發(fā)流程詳細(xì)東莞seo廣告宣傳
  • wordpress媒體庫(kù)全選優(yōu)化英文
  • 加強(qiáng)公司內(nèi)部網(wǎng)站建設(shè)佛山網(wǎng)站建設(shè)模板
  • 撫寧建設(shè)局網(wǎng)站網(wǎng)紅推廣接單平臺(tái)
  • 網(wǎng)站開發(fā)需要什么配置的電腦優(yōu)化外包服務(wù)公司
  • wordpress修改永久鏈接后無(wú)法訪問(wèn)seo優(yōu)化方案
  • 做網(wǎng)站大概需要多少錢深圳最新疫情
  • 濟(jì)南科技市場(chǎng)做網(wǎng)站河南做網(wǎng)站優(yōu)化
  • 做h5哪些網(wǎng)站好 知乎百度小程序