trap-直方图的水量

2024-03-14 08:48
文章标签 直方图 trap 水量

本文主要是介绍trap-直方图的水量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题意

给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。

在这里插入图片描述

上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水)。 感谢 Marcos 贡献此图。

示例:

输入: [0,1,0,2,1,0,1,3,2,1,2,1]
输出: 6
Related Topics 栈 数组 双指针

解题思路

在这里插入图片描述

演示代码

class Solution {Stack<Integer> stack=new Stack<>();public int trap(int[] height) {if(height==null||height.length==0)return 0;int sum=0;stack.add(height[0]);for (int i = 1; i < height.length-1; i++) {if(height[i]<stack.peek()){sum+=findMin(i,height);}else{stack.pop();stack.add(height[i]);}}return sum;}public int findMin(int i,int[] height){int max=height[i+1];for (int j = i+2; j < height.length; j++) {max=Math.max(max,height[j]);}if(max<=height[i])return 0;return Math.min(stack.peek(),max)-height[i];}
}

效果

info
解答成功:
执行耗时:58 ms,击败了8.87% 的Java用户
内存消耗:38.2 MB,击败了35.00% 的Java用户

这篇关于trap-直方图的水量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/807866

相关文章

有无直方图,性能的差距

################################# ###有无直方图,性能的差距### ################################# 实验的环境在redhat平台下的11gr2单实例环境 1、在自己定义的用户下创建表及索引 CREATE TABLE customers AS SELECT * FROM sh.customers; CREATE INDEX cu

CUDA:用并行计算的方法对图像进行直方图均衡处理

(一)目的 将所学算法运用于图像处理中。 (二)内容 用并行计算的方法对图像进行直方图均衡处理。 要求: 利用直方图均衡算法处理lena_salt图像 版本1:CPU实现 版本2:GPU实现  实验步骤一 软件设计分析: 数据类型: 根据实验要求,本实验的数据类型为一个256*256*8的整型矩阵,其中元素的值为256*256个0-255的灰度值。 存储方式: 图像在内存中

图像处理:基于直方图矫正的图像色彩均衡

from itertools import chainimport cv2import osimport numpy as npimport datetimeclass BrightnessBalance:def __init__(self):passdef arrayToHist(self,gray):'''计算灰度直方图,并归一化:param gray_path::return:'''

python画图|并列直方图绘制

前述学习过程中,已经知晓普通直方图绘制和堆叠直方图绘制,参考链接如下: 西猫雷婶-CSDN博客 有时候,我们还会遇到并列直方图绘制的需求,今天就探索一下。 【1】官网教程 按照惯例,我们先来到官网: https://matplotlib.org/stable/gallery/lines_bars_and_markers/barchart.html#sphx-glr-gallery-lin

庞峰Opencv学习(三)--灰度直方图

灰度直方图是一个帮助分析图像很有力的工具吧,今天学习了下,一天不敲代码就生疏啊- -   灰度直方图这个程序主要有几个函数和结构体先说一下:   1.  CreateHIst          CvHistogram* cvCreateHist( int dims, int* sizes, int type,  float** ranges=NULL, int uniform=1 );

5.9灰度直方图

目录 实验原理 实验代码 运行结果 实验原理 calcHist 函数通常是指在计算机视觉和图像处理中用于计算图像直方图的一个函数。 cv:calcHist () 用于计算一个或多个数组的直方图。它可以处理图像数据并返回一个表示像素强度分布的向量(对于灰度图像)或颜色分布(对于彩色图像)。用于计算一个或多个数组的直方图。它可以处理图像数据并返回一个表示像素强度分布的向量(对于灰度

Opencv中的直方图(5)计算EMD距离的函数EMD()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 计算两个加权点配置之间的“最小工作量”距离。 该函数计算地球搬运工距离(Earth Mover’s Distance)和/或两个加权点配置之间距离的下界。其中一个应用如文献 225和 226中所述,是在图像检索中进行多维直方图比较。EMD 是

Opencv中的直方图(1)计算反向投影直方图函数calcBackProject()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 计算直方图的反向投影。 cv::calcBackProject 函数计算直方图的反向投影。也就是说,类似于 calcHist,在每个位置 (x, y),该函数收集输入图像中选定通道的值,并找到对应的直方图区间。但是,与其递增该区间值,该函数读

OpenCV学习笔记(26)灰度直方图 练习

calcHist函数和minMaxLoc函数的参数学习与使用 #include <opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include"opencv2/imgproc/imgproc.hpp" #include <iostream> #include <math.h>using names

基于自适应狮群算法优化GRU神经网络进水量预测,gsclst-gru进水量预测,基于黄金正弦改进的狮群算法优化GRU进水量预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 gru的原理 狮群群算法原理 基于自适应狮群算法优化BILSTM神经网络进水量预测,gsclst-gru进水量预测,基于黄金正弦改进的狮群算法优化BILSTM进水量预测 结果分析 展望 参考论文 背影 传统的方法回归分析容易陷入局部最优准确率低,为提高精度,本文用 ,gsclst-gru进水量预测,基于黄金正弦改进的狮群算法优化GRU