当前位置: 首页 > news >正文

Leetcode—42. 接雨水【困难】

2024每日刷题(112)

Leetcode—42. 接雨水

在这里插入图片描述

空间复杂度为O(n)的算法思想

在这里插入图片描述

实现代码

class Solution {
public:int trap(vector<int>& height) {int ans = 0;int n = height.size();vector<int> l(n);vector<int> r(n);for(int i = 0; i < n; i++) {l[i] = i == 0 ? height[i] : max(height[i], l[i - 1]);}for(int i = n - 1; i >= 0; i--) {r[i] = i == n - 1 ? height[i] : max(height[i], r[i + 1]);}for(int i = 0; i < n; i++) {ans += min(l[i], r[i]) - height[i];}return ans;}
};

运行结果

在这里插入图片描述

空间复杂度为O(1)的算法思想

在这里插入图片描述

实现代码

class Solution {
public:int trap(vector<int>& height) {int ans = 0;int n = height.size();int l = 0, r = n - 1;int premax = 0, sufmax = 0;while(l < r) {premax = max(premax, height[l]);sufmax = max(sufmax, height[r]);if(premax < sufmax) {ans += premax - height[l];l++;} else {ans += sufmax - height[r];r--;}}return ans;}
};

运行结果

在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关文章:

  • 项目02《游戏-08-开发》Unity3D
  • HarmonyOS鸿蒙ArkTS证件照生成模板(适合二次开发,全套源码版)
  • 面试复盘6——后端开发
  • 进程控制(Linux)
  • 【蓝桥杯冲冲冲】[NOIP2003 普及组] 栈
  • C++ 语法文件
  • 【Golang】exec.command命令日志输出示例
  • Linux常见面试题汇总
  • Java学习七、类和对象
  • AJAX-URL查询参数
  • 【机器学习】基于K-近邻的车牌号识别
  • spring boot bean的生命周期
  • 【高质量精品】2024美赛B题22页word版高质量半成品论文+多版保奖思路+数据+前四问思路代码等(后续会更新)
  • 杨中科 ASP.NETCORE 高级14 SignalR
  • Python循环语句——while循环的嵌套应用
  • go语言学习初探(一)
  • HTML5新特性总结
  • JS+CSS实现数字滚动
  • Laravel 中的一个后期静态绑定
  • Linux CTF 逆向入门
  • PAT A1092
  • Theano - 导数
  • 半理解系列--Promise的进化史
  • 分享一份非常强势的Android面试题
  • 高度不固定时垂直居中
  • 关于for循环的简单归纳
  • 关于List、List?、ListObject的区别
  • 前端相关框架总和
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 如何优雅地使用 Sublime Text
  • 时间复杂度与空间复杂度分析
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 我看到的前端
  • 应用生命周期终极 DevOps 工具包
  • 再次简单明了总结flex布局,一看就懂...
  • 《天龙八部3D》Unity技术方案揭秘
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #pragma once
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (C)一些题4
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (推荐)叮当——中文语音对话机器人
  • (未解决)macOS matplotlib 中文是方框
  • (转)memcache、redis缓存
  • (转)原始图像数据和PDF中的图像数据
  • 、写入Shellcode到注册表上线
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET 事件模型教程(二)
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .Net6 Api Swagger配置
  • .net打印*三角形
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)