接雨水 DP 双指针

news2024/11/18 9:38:51

力扣 接雨水
在这里插入图片描述


public class 接雨水
{
	public static int trap(int[] height)
	{
		int res = 0;
		int len = height.length;
		int[] maxLeft = new int[len];//存 i 左边最高的高度
		int[] maxRight = new int[len];//存 i 右边最高的高度
		maxLeft[0] = 0;
		maxRight[len - 1] = 0;
//		DP
		for (int i = 1; i < len; i++)
			maxLeft[i] = Math.max(height[i - 1], maxLeft[i - 1]);
		for (int i = len - 2; i > 0; i--)
			maxRight[i] = Math.max(height[i + 1], maxRight[i + 1]);
		
		for (int i = 1; i < len - 1; i++)// 注意:第一块和最后一块无需处理,因为不会积水
		{
			int min = Math.min(maxLeft[i], maxRight[i]);
			if (min > height[i])
				res += min - height[i];
		}
		return res;
	}

	public static void main(String[] args)
	{
		int[] a = { 4, 2, 0, 3, 2, 5 };
		int res = trap(a);
		System.err.print(res);
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1150428.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode每日一题复盘(10.30~11.5)

leetcode 93 复原ip地址 这一题和上一次的回文串那题差不多&#xff0c;都是给一串数据&#xff0c;在数据中挑出符合要求的放进结果集中 整个题目可以分成三部分&#xff0c;用来判断是否符合条件的函数&#xff0c;回溯函数&#xff0c;主函数 首先是判断函数&#xff0c;这…

ubuntu安装python以及conda

切换国内镜像源 备份下 sudo cp /etc/apt/sources.list /etc/apt/sources_init.list 更换源 sudo vi /etc/apt/sources.list 开头加 deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-sec…

项目解读_v2

1. 项目介绍 如果使用task2-1作为示例时&#xff0c; 运行process.py的过程中需要确认 process调用的是函数 preprocess_ast_wav2vec(wav, fr) 1.1 任务简介 首个开源的儿科呼吸音数据集&#xff0c; 通过邀请11位医师标注&#xff1b; 数字听诊器的采样频率和量化分辨率分…

单目标应用:进化场优化算法(Evolutionary Field Optimization,EFO)求解微电网优化MATLAB

一、微网系统运行优化模型 微电网优化模型介绍&#xff1a; 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、进化场优化算法EFO 进化场优化算法&#xff08;Evolutionary Field Optimization&#xff0c;EFO&#xff09;由Baris Baykant Alagoz等人于2022年提出&…

HarmonyOS鸿蒙原生应用开发设计- 音效库

HarmonyOS设计文档中&#xff0c;为大家提供了独特的音效库&#xff0c;开发者可以根据需要直接引用。 音效库可以分为拟物音效、系统音效、特殊效果音。具体分为提示音、UI交互音、来电铃声、闹铃、拟物音效、乐器、科幻等。 整体分类 开发者直接使用官方提供的音效库内容&a…

S32DS踩坑日记二、调试和SPI

J-Link调试需要注意以下配置&#xff1a; 一&#xff1a;从下图中Debug Configurations进入配置J-Link 二&#xff1a; 三&#xff1a; 关于初始化&#xff1a; 还有一个宏&#xff1a; FEATURE_HAS_HIGH_SPEED_RUN_MODE需要改成0&#xff0c;因为高温型号不支持1。 如果不…

使用NVIDIA GPU FFmpeg转码 YUV to H264(成功)

0. 官方教程 NVIDIA官方教程&#xff1a;链接&#xff0c;本篇内容主要参考2.2 Software Setup。 1. 安装显卡驱动 确保nvidia-smi能够正常使用&#xff1a; 2. 安装CUDA toolkit 注意要与显卡驱动版本对应&#xff0c;验证toolkit是否正确安装&#xff1a; 3. 安装ffnvco…

好用的API调试工具推荐:Apipost

随着数字化转型的加速&#xff0c;API&#xff08;应用程序接口&#xff09;已经成为企业间沟通和数据交换的关键。而在API开发和管理过程中&#xff0c;API文档、调试、Mock和测试的协作显得尤为重要。Apipost正是这样一款一体化协作平台&#xff0c;旨在解决这些问题&#xf…

【LeetCode 算法专题突破】二叉树的深度优先遍历(⭐)

文章目录 前言1. 二叉树的前序遍历题目描述代码 2. 二叉树的中序遍历题目描述代码 3. 二叉树的后序遍历题目描述代码 4. 前序遍历的非递归实现代码与思路 5. 中序遍历的非递归实现代码与思路 6. 后序遍历的非递归实现代码与思路 总结 前言 接下来我要开始攻克二叉树这一个大难…

Mac 配置环境变量

Mac 配置环境变量 修改配置文件 vim ~/.bash_profile i进入编辑模式. Esc&#xff1a;wq 保存文件 esc:q 退出 如&#xff1a;jdk环境变量配置 JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home CLASSPATH J A V A H O M E / l i b / t o o l…

SAP SPAD新建打印纸张

SAP SPAD新建打印纸张 1.事务代码SPAD 2.完全管理&#xff0d;设备类型&#xff0d;页格式-显示(创建格式页) 3.按标准A4纸张为模板参考创建。同一个纸张纵向/横向各创建1次(创建格式页) 4.完全管理&#xff0d;设备类型&#xff0d;格式类型-显示(创建格式类型&#xff0…

PID控制示例

PID控制简单示例 import numpy as np import matplotlib.pyplot as plt import copy# 定义曲线函数 y sin(x) def target_curve(x):return np.sin(x)class PID:def __init__(self, kp, ki, kd):self.kp kpself.ki kiself.kd kdself.ep 0.0self.ei 0.0self.ed 0.0self.d…

个人服务器怎么搭建?个人服务器搭建方法

​  个人服务器是指一台由个人拥有和管理的服务器&#xff0c;用于存储和提供个人网站、应用程序或其他在线服务。搭建个人服务器可以让我们更好地掌控自己的数据和网络资源。下面介绍一种常见的个人服务器搭建方法。 第一步&#xff1a;选择合适的硬件 我们需要选择一台适合…

【自用】英语一新题型每年归类

图片出自马天艺老师视频课。

数据存储新难题:“面粉”又涨价,“面包”怎么卖?

文 | 智能相对论 作者 | 叶远风 存储介质的价格要压不住了。 在减产策略执行数月后&#xff0c;三星、美光、SK海力士等存储介质巨头纷纷“扬言”要涨价&#xff0c;其中三星计划在今年四季度起调整NAND Flash产品的合约价格&#xff0c;涨幅超过10%。 “减产、削供、提价”…

lvsDR模式

LVS-DR模式 是最常用的LVS负载方式 直接路由模式 Lvs调度器 只负责请求和转发 转发到真实服务器 但是响应结果 由后端服务器直接转发给客户端 不需要经过调度器处理 可以减轻Lvs调度器的负担 提高系统性能和稳定性 工作原理&#xff1a; 客户端发送请求到vipLVS调度器接受请求…

mulesoft开发支撑

mulesoft开发支撑 开发支撑1. raml语法说明2. dataweave在线测试平台3. dataweave基础语法4. dataweave官方指南 感 开发支撑 1. raml语法说明 点击跳转 raml-10.md 重点看下面这部分内容&#xff0c;对raml语法做了详细说明和举例。 2. dataweave在线测试平台 点击跳转 d…

服务器感染了.mxdown-V-XXXXXXXX勒索病毒,如何确保数据文件完整恢复?

尊敬的读者&#xff1a; 在当今数字化时代&#xff0c;网络犯罪的阴谋在虚拟世界中蔓延&#xff0c;mxdown-V-XXXXXXXX、.vollhavhelp-V-XXXXXXXX、.arricklu-V-XXXXXXXX勒索病毒是其中的恶梦般存在&#xff0c;这三种勒索病毒均属于同一个勒索病毒家族旗下。这种勒索病毒以其…

【C/C++】引用的本质是指针常量

在c内部&#xff0c;**引用的本质是一个指针常量&#xff0c;**如 int * const ref &a。引用一旦初始化后&#xff0c;就不可以改变指向。 指针常量&#xff0c;int * const ref &a; const修饰的是 "ref "–> , ref 的值不可以改&#xff0c;即指针变量…

vue3中使用vue-i18n

1.先在项目中下载vue-i18n npm install vue-i18n9.6.2 2.1 .为了结构清晰&#xff0c;在src目录下创建一个lang文件夹 2.2 . 在lang文件夹分别下创建两个文件&#xff1a;en.js / zh.js代表两种语言 en.js: export default {message: {hello: hello,world,btn:modif…