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

網易首頁 > 網易號 > 正文 申請入駐

各互聯網大廠月薪分布圖。。。

0
分享至

專欄:50多種數據結構徹底征服

專欄:50多種經典圖論算法全部掌握

最近在脈脈上看到一張圖片,列舉了互聯網大廠薪資的分布情況,整體來看,多數企業員工薪資集中在 20 - 50K 的區間。其中貝殼在 30 - 50K 薪資段占比最高,為 72.1% ;區間50K以上的,字節和拼多多占比最多,都是5.4%,不過我覺得這種統計比較保守了,應該沒有算上加班工資,否則只會更高。


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

來看下今天的算法題,這題是LeetCode的第42題:接雨水。

問題描述

來源:LeetCode第42題

難度:困難

給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之后能接多少雨水。

示例1:



輸入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 輸出:6 解釋:上面是由數組 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度圖,在這種情況下,可以接 6 個單位的雨水(藍色部分表示雨水)。

示例2:


輸入:height = [4,2,0,3,2,5] 輸出:9

  • n == height.length

  • 1 <= n <= 2 * 1^04

  • 0 <= height[i] <= 10^5

問題分析

關于接雨水問題我們前面都講過,有興趣的可以先看下:

這里再來講一遍,不過今天的解決方式和之前的不一樣,今天使用的是 單調棧 來解決。

如果要計算某個位置是否能接雨水,需要找到這個位置左邊和右邊有沒有比他高的柱子,如果有,那么該位置肯定是能接的。所以我們可以使用一個單調棧,從 棧頂到棧底是單調遞增的 。

遍歷整個數組,如果數組中的某個元素比棧頂元素m大,說明棧頂元素m遇到了右邊比他大的值,這個時候棧頂元素m出棧,出棧之后如果棧不為空,那么新的棧頂元素就是左邊比他大的值,既然找到左邊和右邊都比他大的值,就可以計算位置m所能容納的水了。

注意這里計算某個位置所容納的水量不是最終的水量,如下圖中,c 位置最終容納的水是 2 ,但我們計算的時候 c 的左邊和右邊比他大的分別是 b 和 d ,他們的最小高度是 1 ,所以容納的水也是 1 。

當計算 d 的時候,左右兩邊比他大(相等也可以)的是 b 和 e ,因為 d 和 b 的高度一樣,所以計算容納水量為 0 。計算 b 的時候,他的左右兩邊比他大的分別是 a 和 e ,寬度是 3 ,高度是 1 ,容納的水量是 3 。


JAVA:

public int trap(int[] height) {     int water = 0;// 容納的水量     // 單調棧,存放的是柱子的下標,從棧頂到棧底是遞增的。     Stack
         
         
  stk =  new Stack<>();      for ( int i =  0; i < height.length; i++) {          // 如果棧不為空,并且當前元素比棧頂元素大          while (!stk.isEmpty() && height[i] > height[stk.peek()]) {              int index = stk.pop(); // 棧頂元素出棧。              // 因為棧從頂到底是遞增的,此時如果棧不為空,說明在數組中index左邊還有比他高的柱子。              if (!stk.isEmpty()) {                  int left = stk.peek(); // 左邊界                  int w = i - left -  1; // 寬度                  int h = Math.min(height[left], height[i]) - height[index];                 water += w * h; // 存數量累加             }         }         stk.push(i);     }      return water; }

C++:

public:     int trap(vector

  &height) {         int water = 0;// 容納的水量         // 單調棧,存放的是柱子的下標,從棧頂到棧底是遞增的。         stack

  stk;         for (int i = 0; i < height.size(); i++) {             // 如果棧不為空,并且當前元素比棧頂元素大             while (!stk.empty() && height[i] > height[stk.top()]) {                 int index = stk.top();                 stk.pop();// 棧頂元素出棧。                 // 因為棧從頂到底是遞增的,此時如果棧不為空,說明在數組中index左邊還有比他高的柱子。                 if (!stk.empty()) {                     int left = stk.top();// 左邊界                     int w = i - left - 1;// 寬度                     int h = min(height[left], height[i]) - height[index];                     water += w * h;// 存數量累加                 }             }             stk.push(i);         }         return water;     }


C:

#define min(a, b) (((a) < (b)) ? (a) : (b)) int trap(int *height, int heightSize) {     int water = 0;// 容納的水量     // 單調棧,存放的是柱子的下標,從棧頂到棧底是遞增的。     int *stk = malloc(20000 * sizeof(int));     int top = 0;// 棧頂     for (int i = 0; i < heightSize; i++) {         // 如果棧不為空,并且當前元素比棧頂元素大         while (top != 0 && height[i] > height[stk[top - 1]]) {             int index = stk[--top];// 棧頂元素出棧。             // 因為棧從頂到底是遞增的,此時如果棧不為空,說明在數組中index左邊還有比他高的柱子。             if (top != 0) {                 int left = stk[top - 1];// 左邊界                 int w = i - left - 1;// 寬度                 int h = min(height[left], height[i]) - height[index];                 water += w * h;// 存數量累加             }         }         stk[top++] = i;     }     return water; }

Python:

def trap(self, height: List[int]) -> int:     water = 0  # 容納的水量     # 單調棧,存放的是柱子的下標,從棧頂到棧底是遞增的。     stk = []     for i, num in enumerate(height):         # 如果棧不為空,并且當前元素比棧頂元素大         while stk and num > height[stk[-1]]:             index = stk.pop()  # 棧頂元素出棧。             # 因為棧從頂到底是遞增的,此時如果棧不為空,說明在數組中index左邊還有比他高的柱子。             if stk:                 left = stk[-1]  # 左邊界                 w = i - left - 1  # 寬度                 h = min(height[left], num) - height[index]                 water += w * h  # 存數量累加         stk.append(i)     return water

筆者簡介

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

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

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.

相關推薦
熱點推薦
可惜我把車賣了;拉什福德在巴薩新車2.5萬鎊,45萬蘭博已賣

可惜我把車賣了;拉什福德在巴薩新車2.5萬鎊,45萬蘭博已賣

懂球帝
2025-07-25 23:05:07
有確診!廣州、陽江最新通報

有確診!廣州、陽江最新通報

I河源
2025-07-25 20:12:27
人均42.3萬背后:浦發銀行薪酬降15%,分行行長收入達總行行長3倍引關注

人均42.3萬背后:浦發銀行薪酬降15%,分行行長收入達總行行長3倍引關注

經理人雜志
2025-07-25 14:01:35
男子每天發朋友圈炫耀女兒美貌,老師察覺不對報警,警方推開門傻眼

男子每天發朋友圈炫耀女兒美貌,老師察覺不對報警,警方推開門傻眼

罪案洞察者
2025-07-18 17:04:05
卡德羅夫在土耳其度假時突遇溺水風險,被救護車送醫

卡德羅夫在土耳其度假時突遇溺水風險,被救護車送醫

桂系007
2025-07-25 17:35:30
深圳地鐵暴躁老太后續:知情人再曝惡心事,原來搶座只是冰山一角

深圳地鐵暴躁老太后續:知情人再曝惡心事,原來搶座只是冰山一角

小楊侃事
2025-07-25 11:41:43
德天空:費內巴切和三家英超俱樂部均想簽下奧爾特加-莫雷諾

德天空:費內巴切和三家英超俱樂部均想簽下奧爾特加-莫雷諾

懂球帝
2025-07-26 01:13:15
戴爾中國25年,為市場留下了什么?

戴爾中國25年,為市場留下了什么?

虎嗅APP
2025-07-18 06:22:05
兜兜轉轉還是你!41歲白百何首次曬二胎,原來二婚老公依舊還是他

兜兜轉轉還是你!41歲白百何首次曬二胎,原來二婚老公依舊還是他

深析古今
2025-06-18 23:26:02
全身潰爛生不如死,暴瘦40斤,武漢首批新冠患者如今過得如何?

全身潰爛生不如死,暴瘦40斤,武漢首批新冠患者如今過得如何?

柳絮憶史
2025-07-22 07:15:03
老夫老妻的‘新花樣’!夫妻性福,拒絕“一成不變”的日常生活

老夫老妻的‘新花樣’!夫妻性福,拒絕“一成不變”的日常生活

精彩分享快樂
2025-07-26 00:46:40
國家放大招了!真金白銀鼓勵60歲以上老人出去旅游消費

國家放大招了!真金白銀鼓勵60歲以上老人出去旅游消費

阿傖說事
2025-07-25 08:08:08
馬健點評楊瀚森不打亞洲杯:在中國籃球最低谷期,籃協讓球迷看見一線希望

馬健點評楊瀚森不打亞洲杯:在中國籃球最低谷期,籃協讓球迷看見一線希望

雷速體育
2025-07-25 09:17:18
越南與中國杠上了?中國前腳定下9月3閱兵,越南后腳就定9月2!

越南與中國杠上了?中國前腳定下9月3閱兵,越南后腳就定9月2!

泠泠說史
2025-07-21 17:39:10
趙本山:我拯救了一個惡毒女人的演藝生涯,她卻忘恩負義踩我上位

趙本山:我拯救了一個惡毒女人的演藝生涯,她卻忘恩負義踩我上位

芳芳歷史燴
2025-07-23 17:53:28
記者:拜仁決心簽下迪亞斯,若報價達7500萬歐很可能實現交易

記者:拜仁決心簽下迪亞斯,若報價達7500萬歐很可能實現交易

直播吧
2025-07-26 02:29:05
洪森對華吐露心聲:盡管柬埔寨是小國,但中國始終給予柬方尊重

洪森對華吐露心聲:盡管柬埔寨是小國,但中國始終給予柬方尊重

云舟史策
2025-07-18 07:53:25
新婚之夜丈夫提AA制,妻子怒道:懷孕無法A,以后進我屋一次5千

新婚之夜丈夫提AA制,妻子怒道:懷孕無法A,以后進我屋一次5千

廣西秦胖胖
2025-07-22 08:08:54
乾隆讓道士作法求雨,道士作法后果然下雨,乾隆:拉出去砍了吧

乾隆讓道士作法求雨,道士作法后果然下雨,乾隆:拉出去砍了吧

兵卒史
2025-07-24 16:54:02
一個真實的案例告訴你:和熟人發生婚外情,下場到底有多慘

一個真實的案例告訴你:和熟人發生婚外情,下場到底有多慘

趙主任趣聞
2023-12-14 03:45:03
2025-07-26 03:04:49
數據結構和算法
數據結構和算法
專門介紹和寫算法題解的號
238文章數 3關注度
往期回顧 全部

科技要聞

36款熱門車高危智駕場景測試,“團滅”!

頭條要聞

8旬翁下葬前墓地被人埋死狗沿路埋鐵釘暗器 官方介入

頭條要聞

8旬翁下葬前墓地被人埋死狗沿路埋鐵釘暗器 官方介入

體育要聞

3年過去了,她還是歐洲杯上最酷的姐

娛樂要聞

汪蘇瀧不忍了 !張碧晨痛失《年輪》演唱權

財經要聞

劉煜輝:當下重要不是找確定性而是轉折點

汽車要聞

李斌一口氣講了近3個小時樂道L90 原因是為啥?

態度原創

健康
本地
房產
家居
旅游

呼吸科專家破解呼吸道九大謠言!

本地新聞

換個城市過夏天|風拂鹽湖,躲進格爾木的盛夏清涼

房產要聞

分數線集體飆漲!海中867分!2025海南中招格局大變!

家居要聞

環繞設計 空間動線合理

旅游要聞

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

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 新竹县| 赤水市| 新竹市| 云梦县| 桐乡市| 莱州市| 宜州市| 兴文县| 万宁市| 都江堰市| 通化县| 青岛市| 苏州市| 临安市| 大洼县| 葵青区| 伊春市| 泰兴市| 神池县| 津南区| 富源县| 小金县| 孟州市| 卫辉市| 永城市| 东丰县| 噶尔县| 蓝山县| 上高县| 普洱| 达孜县| 衡南县| 泗洪县| 关岭| 巫山县| 漳州市| 清水河县| 探索| 田阳县| 尉氏县| 科技|