Leetcode42. 接雨水
2024-08-26 13:16:58
做法
考虑单独一列能生产多少贡献:用左右最大值去接这列的水
\(O(n)\)
Code
class Solution {
public:
int mx[1000000],rx[1000000];
int trap(vector<int>& height) {
int n(height.size());
// int mx(0);
for(int i=0;i<n;++i){
if(i==0) mx[i]=height[i];
else mx[i]=max(mx[i-1],height[i]);
}
int ans(0);
for(int i=n-1;i>=0;--i){
if(i==n-1) rx[i]=height[i];
else rx[i]=max(rx[i+1],height[i]);
ans+=min(rx[i],mx[i])-height[i];
}
/*int ans(0);
for(int i=0;i<n;++i){
ans+=min(rx[i],mx[i])-height[i];
}*/
return ans;
}
};
最新文章
- 矩阵快速幂 HDU 4565 So Easy!(简单?才怪!)
- XcodeiOS模拟器安装相关
- VisualStudio2010正则表达式查找和替换
- android webview开发问题及优化汇总
- MarkDown 语法
- python windows终端窗口下输出编码错误
- 使用BOM 的window对象属性打开新窗口
- Struts2几种传值
- 关于yum与源码安装的LAMP或LNMP网页直接显示空白页的问题?
- jsp关于include html、jsp等文件出现乱码问题的解决方案
- HDU 3507 Print Article(DP+斜率优化)
- 初学mysql命令
- USACO 3.2 Stringsobits
- 【转】一文掌握 Linux 性能分析之网络篇(续)
- vi/vim键盘对应图
- 变量和关系符和JAVA基本类型笔记与常考面试题
- MobaXterm 加装cygwin软件包
- Winform 开发基础分层框架
- 二:状压dp
- WPF获取程序版本号(Version)的方法
热门文章
- 【Java拾遗】Java transient关键字
- Synchronized 和 Lock 的主要区别(转)
- element-ui 穿梭框使用axios数据查询
- Java关于 class类的基础方法
- asp.net代码审计起始篇之系统搭建
- GC是如何判断一个对象为";垃圾";的?被GC判断为";垃圾";的对象一定会被回收吗?
- unity 3D物体使用EventSystem响应事件
- MySQL Replication--双主结构优缺点
- oracle命令行导出、导入dmp文件
- [ipsec][strongswan] strongswan源码分析--(五)plugin的配置文件的添加方法与管理架构解析