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

国外浏览器app西安官网seo技术

国外浏览器app,西安官网seo技术,卷皮淘客网站怎么做,做夹具需要知道的几个网站接雨水 方法一思路测试代码复杂度测试结果 方法二思路测试代码复杂度测试结果 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1]…

接雨水

  • 方法一
    • 思路
    • 测试代码
    • 复杂度
    • 测试结果
  • 方法二
    • 思路
    • 测试代码
    • 复杂度
    • 测试结果

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

示例1:
在这里插入图片描述

输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
输出:6
解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,
在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 

示例 2:

输入:height = [4,2,0,3,2,5]
输出:9
提示:n == height.length
1 <= n <= 2 * 104
0 <= height[i] <= 105

方法一

思路

我们需要维护一个到当前的前缀最大数组(当前元素的前缀最大的数字),和一个到当前的后缀最大数组(当前元素的后缀最大的数字)。
当我们遍历到当前元素的时候,选出前缀和后缀二者中小的那个减去高度即可,得到当前元素的接住的雨水量.
image.png
比如相对于这个 height = [0,1,0,2,1,0,1,3,2,1,2,1]高度图,
前缀最大数组是 :pre_max:[0,1,1,2,2,2,2,3,3,3,3,3];
后缀最大数组是: sub_max:[3,3,3,3,3,3,3,3,2,2,2,1];
把遍历到的每一个元素当成一个宽度为1的水桶,他的高就是与其索引一样的前缀最大数组和后缀最大数组中的最小的一个。

测试代码

class Solution{public int trap(int[] height) {int ans=0;int n=height.length;//数组前缀最大值int pre_max[]=new int[n];pre_max[0]=height[0];//后缀最大值数组int sub_max[]=new int[n];sub_max[n-1]=height[n-1];for (int i = 1; i <n; i++) {pre_max[i]=Math.max(height[i],pre_max[i-1]);}for (int i = n-2; i >=0; i--) {sub_max[i]=Math.max(height[i],sub_max[i+1]);}for (int i = 0; i <n; i++) {ans+=Math.min(pre_max[i],sub_max[i])-height[i];}return ans;}
}

复杂度

时间复杂度是:O(n),n,是数组的长度,因为只有三个单层for循环。
空间复杂度是:O(n),创建了两个为长度为n的数组。

测试结果

image.png

方法二

思路

我们可以定义两个变量,来维护相对于当前元素的前缀最大值,和后缀最大值。

image.png

比如这个时候,当我们遍历到红色的框框时候,前缀最大值是2,后缀最大值是3,那么它形成的宽为1木桶,水桶高选择的是前缀,和,后缀小的那个(因为水桶的高度只能选择较小的不,选择大的会溢出去),然后减去高就可以得到当前元素的接雨水的量。

测试代码

class Solution {public int trap(int[] height) {//答案和int ans=0;//前缀最大值int pre_max=0;//后缀最大值int sub_max=0;int i=0,j=height.length-1;while (i<j){//更新前缀最大值pre_max=Math.max(pre_max,height[i]);//更新后缀最大值sub_max=Math.max(sub_max,height[j]);if (pre_max<sub_max){//前缀较小,更新答案ans+=pre_max-height[i];i++;}else {//后缀较小或者等于情况,更新答案ans+=sub_max-height[j];j--;}}return ans;}
}

复杂度

时间复杂度是:O(n)
空间复杂度是:O(1)

测试结果

image.png

http://www.ritt.cn/news/23788.html

相关文章:

  • 广东建设网 工程信息网站seo网络营销推广
  • MUSIK V1.0 WORDPRESS怎样优化网站
  • 做网站还要买服务器吗关键词调整排名软件
  • 外国产品设计网站百度站长电脑版
  • 临沂网站建设网站推广广州网站优化公司排名
  • 化妆品网站建设实训总结比优化更好的词是
  • diy个性定制优化网站首页
  • python 做网站开发吗搜索引擎推广有哪些
  • 水电建设网站泉州seo代理计费
  • 360网站推广官网授权商山东疫情最新情况
  • 手机网站发号系统源码网络推广搜索引擎
  • 客户说做网站没效果怎么回答好网络营销的10个特点
  • 网站如何快速收录热点新闻
  • 如何做网站做网站需要多少钱搜索引擎案例分析结论
  • 杭州公司网站制作维护产品软文代写
  • dede网站入侵百度地图排名可以优化吗
  • 自动采集更新的网站wordpress软文广告文案
  • springboot网站开发网站开发框架
  • 用源码建设网站网络推广平台有哪些?
  • 网站建设的经费成都网站建设公司排名
  • 做一个企业网站设计电子商务营销策略有哪些
  • 用java可以做网站吗广东百度推广的代理商
  • 有哪几个平台做网站简述优化搜索引擎的方法
  • 上海网站备案拍照地点运营培训班有用吗
  • 最新手机网址企业官网seo
  • 泰安房产网数据中心谷歌seo关键词优化
  • 最好的网站设计公司怎么做百度搜索排名
  • 模板网站制作多少钱百度联盟怎么加入
  • 网站快照没了长沙网站优化体验
  • 菏泽做网站的公司10000个免费货源网站