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

LeetCode Hot100 接雨水

题目地址: https://leetcode.cn/problems/trapping-rain-water/description/

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

// 思路:记录i位置左边最大值和右边最大值
// 当前位置的水量 = max(min(左边最大值,右边最大值) - 当前高度 , 0)
// 如果 min(左边最大值,右边最大值) - 当前高度 < 0。说明当前位置的高度最高没法接住水func trap(height []int) int {ans := 0n := len(height)lmax := make([]int, n)rmax := make([]int, n)lmax[0] = height[0]rmax[n-1] = height[n-1]for i := 1; i < n; i++ {lmax[i] = max(lmax[i-1], height[i])}for i := n - 2; i >= 0; i-- {rmax[i] = max(rmax[i+1], height[i])}for i := 0; i < n; i++ {ans += max(min(rmax[i], lmax[i])-height[i], 0)}return ans
}

使用两个变量优化

func trap(height []int) int {ans := 0n := len(height)lmax := height[0]rmax := height[n-1]l := 1r := n - 2for l <= r {if lmax <= rmax {ans += max(lmax-height[l], 0)lmax = max(lmax, height[l])l++} else {ans += max(rmax-height[r], 0)rmax = max(rmax, height[r])r--}}return ans
}
http://www.dtcms.com/a/614260.html

相关文章:

  • C#22、什么是IEnumerable
  • 网站建立数据库手机ftp传网站文件在哪里
  • Flume Kafka源与汇的topic覆盖问题解决
  • 基于卷积神经网络的手写数字识别
  • 旅游网站建设ppt模板下载宁国新站seo
  • 助贷获客系统哈尔滨网站推广优化公司
  • 前端国际化解决方案,i18n库推荐
  • Intellij idea 注释模版
  • C语言指针的详细讲解应用(江科大)
  • 哪方面的网站小程序推广方案
  • 张家口全景网站建设百度新闻官网首页
  • 轻量不卡顿!7-Zip 清爽压缩软件:高压缩比
  • 易语言开发编译器 | 高效简洁的开发工具,让编程更轻松
  • Android中的后台任务最佳实践
  • 自适应企业网站模板重庆网站建站一站式服务
  • 关于C语言的电子书,有需要的关注联系我
  • MinGW-w64 工具链(GCC 编译器) 的不同构建版本的区别
  • 【C++】 set/multiset底层原理与逻辑详解
  • 易语言exe反编译器:深度解析与使用指南
  • 19.优先级队列容器priority_queue
  • 做盗版视频网站成本多少钱低调与华丽wordpress下载
  • JAVA EE初阶 6: 网络编程套接字
  • 旅行网站建设方案策划书wordpress一键优化
  • 自己动手写深度学习框架(优化深度学习框架)
  • C语言编译过程五个步骤 | 深入解析编译过程中的关键环节
  • MATLAB基于云-灰关联分析的教学评价研究
  • 网站由谁备案hyip网站开发
  • 太阳能建设网站y2学年做的租房网站
  • 商场BA楼宇自控系统项目案例
  • React Router