99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

一覺醒來,美團offer作廢了。。。

0
分享至

專欄:50多種數(shù)據(jù)結(jié)構(gòu)徹底征服

專欄:50多種經(jīng)典圖論算法全部掌握

最近一網(wǎng)友在找工作的時候,收到美團的offer,而面試的其他幾家還沒開獎,所以想在等等,結(jié)果美團的offer作廢了。offer的確認(rèn)都是有時效的,給你發(fā)了你不確認(rèn),人家以為你不打算去了。

面試之后如果手里暫時沒有offer,其他幾家還不確定的時候,可以先接了,不能太貪,如果覺得不滿意,以后還可以再跳槽。給你了你不接,萬一后面幾個都不發(fā),豈不是一個offer都沒了,只能走社招了。




--------------下面是今天的算法題--------------

來看下今天的算法題,這題是LeetCode的第84題:柱狀圖中最大的矩形。

問題描述

來源:LeetCode第84題

難度:困難

給定 n 個非負(fù)整數(shù),用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度為 1 。求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。

示例1:



輸入:heights = [2,1,5,6,2,3] 輸出:10 解釋:最大的矩形為圖中紅色區(qū)域,面積為 10

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

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

問題分析

這題讓求的是柱狀圖能勾勒出來的最大矩形面積,因為勾勒出來的最大矩形面積高度肯定是其中某一個柱子的高度,我們可以使用單調(diào)棧解決,單調(diào)棧存儲的是元素的下標(biāo), 下標(biāo)對應(yīng)的值從棧底到棧頂是單調(diào)遞增的 。

遍歷數(shù)組的時候,如果當(dāng)前元素的值大于等于棧頂元素所對應(yīng)的值,就把當(dāng)前元素的下標(biāo)添加到棧中。如下圖,當(dāng)遍歷到前4個元素的時候,因為都是后面一個比前面一個大,所以都壓棧,注意壓入的是元素下標(biāo),不是元素的值。


如果當(dāng)前元素的值小于棧頂元素,說明棧頂元素遇到了右邊比他小的,那么這個棧頂元素左邊比他小的是哪個呢?就是它在棧中的下一個元素(也有可能相等,但不影響后面的計算),也就是棧頂元素出棧之后新的棧頂元素。

當(dāng)我們知道一個柱子左邊和右邊比他小的,就可以計算以當(dāng)前柱子為矩形高度所能勾勒出來的最大矩形了。比如上面的圖中當(dāng)指針指向 2 的時候,我們來看下計算步驟。




這里要注意一點的是數(shù)組中的第一個元素前面是沒有值的,最后一個元素后面也是沒有值的,所以我們可以把數(shù)組的前面和后面分別添加一個 0 。

JAVA:

public int largestRectangleArea(int[] heights) {     Stack
         
  stack =  new Stack<>(); // 棧頂?shù)綏5资沁f減的      // 第一個柱子的下標(biāo)是0,默認(rèn)他前面一個是-1。     stack.push(- 1);      int maxArea =  0; // 記錄最大面積      for ( int i =  0; i <= heights.length; i++) {          // 當(dāng)前柱子的高度,如果i == heights.length,表示沒有柱子,高度為0。          int curHeight = i == heights.length ?  0 : heights[i];          // 如果當(dāng)前柱子的高度小于棧頂元素所對應(yīng)柱子的高度,棧頂元素出棧,計算面積。          while (stack.size() >  1 && curHeight < heights[stack.peek()]) {              int h = heights[stack.pop()]; // 出棧的柱子高度              int area = (i -  1 - stack.peek()) * h; // 計算面積             maxArea = Math.max(maxArea, area); // 保存最大面積         }         stack.push(i); // 當(dāng)前柱子的下標(biāo)入棧     }      return maxArea; // 返回最大面積。 }

C++:

public:     int largestRectangleArea(vector

  &heights) {         stack

  stk;// 棧頂?shù)綏5资沁f減的         // 第一個柱子的下標(biāo)是0,默認(rèn)他前面一個是-1。         stk.push(-1);         int maxArea = 0;// 記錄最大面積         for (int i = 0; i <= heights.size(); i++) {             // 當(dāng)前柱子的高度,如果i == heights.length,表示沒有柱子,高度為0。             int curHeight = i == heights.size() ? 0 : heights[i];             // 如果當(dāng)前柱子的高度小于棧頂元素所對應(yīng)柱子的高度,棧頂元素出棧,計算面積。             while (stk.size() > 1 && curHeight < heights[stk.top()]) {                 int h = heights[stk.top()];// 出棧的柱子高度                 stk.pop();                 int area = (i - 1 - stk.top()) * h;// 計算面積                 maxArea = max(maxArea, area);// 保存最大面積             }             stk.push(i);// 當(dāng)前柱子的下標(biāo)入棧         }         return maxArea;// 返回最大面積。     }


Python:

    def largestRectangleArea(self, heights: List[int]) -> int:         # 第一個柱子的下標(biāo)是0,默認(rèn)他前面一個是 - 1。         stk = [-1]  # 棧頂?shù)綏5资沁f減的         maxArea = 0  # 記錄最大面積         for i in range(0, len(heights) + 1):             # 當(dāng)前柱子的高度,如果i == heights.length,表示沒有柱子,高度為0。             curHeight = 0 if i == len(heights) else heights[i]             # 如果當(dāng)前柱子的高度小于棧頂元素所對應(yīng)柱子的高度,棧頂元素出棧,計算面積。             while len(stk) > 1 and curHeight < heights[stk[-1]]:                 h = heights[stk.pop()]  # 出棧的柱子高度                 area = (i - 1 - stk[-1]) * h  # 計算面積                 maxArea = max(maxArea, area)  # 保存最大面積             stk.append(i)  # 當(dāng)前柱子的下標(biāo)入棧         return maxArea  # 返回最大面積。

筆者簡介

博哥,真名:王一博,畢業(yè)十多年, 作者,專注于 數(shù)據(jù)結(jié)構(gòu)和算法 的講解,在全球30多個算法網(wǎng)站中累計做題2000多道,在公眾號中寫算法題解800多題,對算法題有自己獨特的解題思路和解題技巧,喜歡的可以給個關(guān)注,也可以 下載我整理的1000多頁的PDF算法文檔 。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點推薦
破案了!終于知道為什么馬伊琍長相演技更出色,但就是火不過孫儷

破案了!終于知道為什么馬伊琍長相演技更出色,但就是火不過孫儷

小娛樂悠悠
2025-05-06 10:31:03
沈陽獻血40次以上可免費乘公交!誰說獻愛心只是紙面榮譽?

沈陽獻血40次以上可免費乘公交!誰說獻愛心只是紙面榮譽?

垛垛糖
2025-05-09 23:07:39
日英意考慮對澳出口下一代戰(zhàn)機

日英意考慮對澳出口下一代戰(zhàn)機

參考消息
2025-05-11 11:51:11
李嘉誠捧場五月天香港啟德演唱會

李嘉誠捧場五月天香港啟德演唱會

港劇叔
2025-05-11 08:20:53
喜訊!!蘇亞雷斯剛來亞泰就被長春球迷追捧,未來兩人將被他重用

喜訊!!蘇亞雷斯剛來亞泰就被長春球迷追捧,未來兩人將被他重用

懂個球
2025-05-11 00:00:16
廣州番禺將新增一三甲醫(yī)院

廣州番禺將新增一三甲醫(yī)院

魯中晨報
2025-05-11 07:32:02
天吶!這居然是王詩齡,媽媽有錢養(yǎng)出來的小孩,真是越來越精致了

天吶!這居然是王詩齡,媽媽有錢養(yǎng)出來的小孩,真是越來越精致了

喜歡歷史的阿繁
2025-05-07 11:45:26
剛剛!普京,重大宣布!

剛剛!普京,重大宣布!

證券時報
2025-05-11 10:27:02
Shams:勇士認(rèn)為庫里最早G6回歸 正努力延長系列賽

Shams:勇士認(rèn)為庫里最早G6回歸 正努力延長系列賽

直播吧
2025-05-11 08:42:43
鐵匠回勇,威少替補8中3!約基奇20+16+8失誤,掘金加時險勝雷霆

鐵匠回勇,威少替補8中3!約基奇20+16+8失誤,掘金加時險勝雷霆

釘釘陌上花開
2025-05-10 13:01:29
百度地圖植入“車道廣告”?網(wǎng)友:關(guān)不掉,影響行車安全!最新回應(yīng)

百度地圖植入“車道廣告”?網(wǎng)友:關(guān)不掉,影響行車安全!最新回應(yīng)

中國能源網(wǎng)
2025-05-10 11:25:10
大消息!工行、建行、中行、郵儲、國開行等,集體宣布!

大消息!工行、建行、中行、郵儲、國開行等,集體宣布!

中國基金報
2025-05-10 14:53:26
全紅嬋為何三次輸給陳芋汐,郭晶晶說了句實話,陳若琳真沒說錯

全紅嬋為何三次輸給陳芋汐,郭晶晶說了句實話,陳若琳真沒說錯

浪子阿邴聊體育
2025-05-09 10:53:23
“不贊成丁克”醫(yī)生火了,說出的兩點原因,讓網(wǎng)友紛紛點贊

“不贊成丁克”醫(yī)生火了,說出的兩點原因,讓網(wǎng)友紛紛點贊

菁媽育兒
2025-05-10 13:11:58
20記三分強勢反彈!真狠!骨折也繼續(xù)戰(zhàn)!

20記三分強勢反彈!真狠!骨折也繼續(xù)戰(zhàn)!

柚子說球
2025-05-11 12:21:52
朱立倫被六國駐臺機構(gòu)圍攻,遭蔣萬安背刺,關(guān)鍵時刻,洪秀柱發(fā)聲

朱立倫被六國駐臺機構(gòu)圍攻,遭蔣萬安背刺,關(guān)鍵時刻,洪秀柱發(fā)聲

DS北風(fēng)
2025-05-10 23:26:04
莫迪再出昏招,轟炸巴基斯坦中資大壩?美方緊急發(fā)聲,同印度劃界

莫迪再出昏招,轟炸巴基斯坦中資大壩?美方緊急發(fā)聲,同印度劃界

武事匯
2025-05-10 18:40:27
孫儷開300萬邁巴赫逛街被偶遇!新造型陰森壓抑,瘋狂購買奢侈品

孫儷開300萬邁巴赫逛街被偶遇!新造型陰森壓抑,瘋狂購買奢侈品

八星人
2025-05-08 15:13:46
主動發(fā)聲,里弗斯決定引爆聯(lián)盟,寧愿放棄9000萬,也要離開洛杉磯

主動發(fā)聲,里弗斯決定引爆聯(lián)盟,寧愿放棄9000萬,也要離開洛杉磯

體育大朋說
2025-05-10 11:14:03
日均接診500人,"骨折不用開刀"!上海社區(qū)門診↗

日均接診500人,"骨折不用開刀"!上海社區(qū)門診↗

看看新聞Knews
2025-05-10 21:52:59
2025-05-11 12:31:02
數(shù)據(jù)結(jié)構(gòu)和算法
數(shù)據(jù)結(jié)構(gòu)和算法
專門介紹和寫算法題解的號
227文章數(shù) 2關(guān)注度
往期回顧 全部

科技要聞

首款折疊屏iPhone,有新消息!

頭條要聞

牛彈琴:印巴戲劇性地突然宣布停火 背后有五大原因

頭條要聞

牛彈琴:印巴戲劇性地突然宣布停火 背后有五大原因

體育要聞

分手7年之后,漢堡終于原諒了德甲

娛樂要聞

S媽撒謊實錘!馬筱梅親切喊她徐媽媽

財經(jīng)要聞

重慶一家人把755億巨債留給了股民

汽車要聞

空間表現(xiàn)是優(yōu)勢 極狐T1將于5月底正式亮相發(fā)布

態(tài)度原創(chuàng)

本地
旅游
時尚
教育
公開課

本地新聞

非遺里的河南|汴梁鳶舞千年韻!宋室風(fēng)箏藏多少絕活

旅游要聞

熱聞|清明假期將至,熱門目的地有哪些?

什么?這年頭藝術(shù)家的顏值居然卷成這樣了

教育要聞

作為子女,你真的懂父母的心理嗎?

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關(guān)懷版 主站蜘蛛池模板: 轮台县| 云安县| 白水县| 留坝县| 和林格尔县| 宜兰县| 屯门区| 华蓥市| 民乐县| 大丰市| 泌阳县| 蒲城县| 子洲县| 广东省| 淮安市| 崇阳县| 石泉县| 饶阳县| 沁源县| 北辰区| 翁牛特旗| 乡宁县| 平遥县| 固安县| 伊通| 大理市| 五常市| 唐山市| 桃园市| 株洲市| 泗洪县| 霸州市| 辰溪县| 柘荣县| 肃宁县| 临沂市| 太谷县| 邹城市| 东阳市| 峨山| 宾阳县|