成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用「單調?!菇鉀Q“攢青豆”這類現實生活問題

開發 前端
現有 n 個寬度為 1 的柱子,給出 n 個非負整數依次表示柱子的高度,排列后如下圖所示,此時均勻從上空向下撒青豆,計算按此排列的柱子能接住多少青豆。(不考慮邊角堆積)。

問題描述

攢青豆

現有 n 個寬度為 1 的柱子,給出 n 個非負整數依次表示柱子的高度,排列后如下圖所示,此時均勻從上空向下撒青豆,計算按此排列的柱子能接住多少青豆。(不考慮邊角堆積)

圖片

輸入格式

輸入每根柱子高度的數組

輸出格式

輸出一個整數,表示最大能接住多少青豆

輸入樣例:

[5,0,2,1,4,0,1,0,3]

輸出樣例:

17

解題思路

通過單調棧找到每根柱子左邊第一個比它高的位置,把兩根柱子之間的青豆數累加起來,棧內元素是成遞減的順序保存的。

  1. 首先比較當前棧頂元素是否小于當前柱子高度,如果小于棧頂就繼續入棧,否則就要找到把棧彈出到第一個比當前柱子高的位置,棧內元素存的數組下標位置,所以可以通過當前下標值與之前的值相減得到寬度差
  2. 使用Last變量記錄上一個彈出棧頂的元素高度,因為可以計算兩個柱子之間的高度差,每次彈出柱子都要更新一次Last
  3. 最后判斷棧是否為空,不空的話需要加上左邊柱子比當前柱子高的之間大小

相關代碼

import java.util.*;
public class Main{
public static void main(String[] args){
int[] height = new int[]{5,0,2,1,4,0,1,0,3};
System.out.println(qingdou(height));
}
static int qingdou(int[] w){
Stack<Integer> stack = new Stack<>();
int res = 0;
//單調棧
for(int i = 0; i < w.length; i++){
int last = 0; //上一個棧頂元素
while(!stack.empty() && w[stack.peek()] <= w[i]){
res += (w[stack.peek()] - last) * (i - stack.peek() - 1);
last = w[stack.peek()];
stack.pop();
}
if(!stack.empty()) {
res += (w[i] - last) * (i - stack.peek() - 1);
}
stack.push(i);
}
return res;
}
}

運行效果

圖片

在線運行

訪問下方鏈接可以直接在線運行:https://1024code.com/codecubes/KzFluKB

總結

今天主要分享了對攢青豆的題目理解,有錯誤的地方歡迎大家指出,共同進步??!

本文轉載自微信公眾號「 程序員升級打怪之旅」,作者「王中陽Go」,可以通過以下二維碼關注。

轉載本文請聯系「 程序員升級打怪之旅」公眾號。

責任編輯:武曉燕 來源: 程序員升職加薪之旅
相關推薦

2022-06-05 23:59:31

加密貨幣區塊鏈比特幣

2019-05-14 13:14:24

智慧社區智能服務智能家居

2018-09-11 14:40:07

物聯網應用物聯網IOT

2023-03-30 08:10:31

Vue.js轉換和微交互

2023-08-24 08:37:50

VueCSS

2015-09-21 09:20:55

2024-05-09 12:52:12

大數據

2017-12-28 09:22:24

機器學習應用生活

2015-01-05 09:53:05

Java

2020-06-04 08:06:12

物聯網應用物聯網IOT

2022-08-14 14:46:58

元宇宙Web3.0虛擬宇宙

2022-06-16 15:12:02

元宇宙房產虛構世界

2010-12-01 23:26:12

微軟創新杯

2023-08-09 09:30:10

數組結構left )

2022-11-03 15:22:15

數據結構Python

2017-03-01 10:04:16

2018-04-08 09:07:58

2022-01-14 11:48:39

量子計算硬件技術

2012-05-08 16:21:26

智能手機

2023-05-29 07:31:35

單調棧數組循環
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品欧美一区二区蜜桃免费 | 中文字幕成人av | 久草视| 久久人体视频 | 在线免费观看成年人视频 | 日本中文字幕在线视频 | 蜜桃一区 | 在线免费观看a级片 | 中文字幕动漫成人 | 亚洲精品国产精品国自产在线 | 欧美综合一区二区三区 | 天堂久久av | 国产乱码久久久久久 | 欧美 日韩 国产 在线 | 国产成人免费 | 久久91精品国产 | 日韩一区二区三区在线视频 | 欧美精品一区二区三区四区五区 | 美女福利网站 | 狠狠av| 欧美性生活免费 | 欧美一a一片一级一片 | 毛片一区二区 | 玩丰满女领导对白露脸hd | 国产日产精品一区二区三区四区 | 免费性视频 | 青青久久av北条麻妃海外网 | 精品一区二区免费视频 | 视频一区二区在线观看 | 精品一区二区三区在线视频 | 中文字幕国产精品 | 免费一级大片 | 亚州综合一区 | 国产在线一区二区 | 四虎永久在线精品免费一区二 | 日韩精品一区二区三区中文在线 | 91佛爷在线观看 | 91精品久久久久久久久久入口 | 亚洲国产中文字幕 | 国产精品国产精品国产专区不卡 | 成人在线视频免费观看 |