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

网站建设需要域名吗?微信小程序开发需要什么

网站建设需要域名吗?,微信小程序开发需要什么,银川做网站多少钱,给企业做网站挣钱吗给定 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] …

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

示例 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 ∗ 10 4 2 * 10^4 2104
0 <= height[i] <= 10 5 10^5 105


知识点:
数组、双指针


解:
首先,这是一题双指针的题目(当然也有其他方法:dp、单调栈)。根据双指针的常用方法,设置两个指针pipj分别指向数组的两端,并且左指针向右移动,右指针向左移动

观察图示,所接雨水的量,取决于当前遍历的这个元素左右两侧的更小的那个高度,因此用两个变量lMaxrMax分别存储左边的最大值、右边的最大值。当左/右指针指向一个新的元素时,要判断当前元素的高度是否比对应的lMax/rMax大,若是,则取当前元素的高度,否则保留lMaxrMax的值。因此得到:

lMax = Math.max(height[pi], lMax);
rMax = Math.max(height[pj], rMax);

这里,只要左侧最大高度lMax比右侧最大高度rMax大,就处理左边;否则,处理右边(实际上这是考虑最高的柱子在数组的中间,而不是两侧)。
当处理左侧/右侧时:
①首先,计算当前遍历的元素所对应的面积,公式为(max-height[p])*1,其中,max对应lMaxrMax,p对应pipj。这里面积×1是因为题目指明了每个柱子的宽度为1。
②然后,加计算出来的面积加入结果变量sum中。

最后,只要不满足左指针<右指针,就退出循环,并返回最终的变量sum。

对于测试样例1,有以下分析过程:
测试样例1分析过程
对于测试样例2,有以下分析过程:
测试样例2分析过程
时间复杂度: O ( n ) O(n) O(n),最多遍历一次整个数组的所有元素
空间复杂度: O ( 1 ) O(1) O(1)

class Solution {public int trap(int[] height) {int sum = 0;int n = height.length;//定义双指针int pi = 0;int pj = n - 1;//定义变量存储左右最大的heightint lMax = 0;int rMax = 0;//只要左指针<右指针,就继续循环while (pi < pj) {//获取当前遍历的lMax、rMax,是当前遍历的高度与变量的值的更大的那个lMax = Math.max(height[pi], lMax);rMax = Math.max(height[pj], rMax);//对于两个max中更小的数,用对应的指针(lMax更小,当前用pi;rMax更小,当前用pj)if (lMax < rMax) {//计算当前凹槽所接雨水量int cur = (lMax - height[pi]) * 1;sum += cur;//更新左指针(向右移动)pi++;} else {//计算当前凹槽所接雨水量int cur = (rMax - height[pj]) * 1;sum += cur;//更新右指针(向左移动)pj--;}}return sum;}
}

文章转载自:

http://GGCPxIZ3.smdqL.cn
http://Ja5h5NRU.smdqL.cn
http://9hFVZBT0.smdqL.cn
http://bOyYOrB3.smdqL.cn
http://ez0MbkuH.smdqL.cn
http://7MvHe0yR.smdqL.cn
http://0dUv0bQ0.smdqL.cn
http://90OAcaWo.smdqL.cn
http://cqqZH7Bg.smdqL.cn
http://MIsc2nWa.smdqL.cn
http://2PqgxkQC.smdqL.cn
http://eqC5VVIy.smdqL.cn
http://HM3U8iNl.smdqL.cn
http://mXxD90Eh.smdqL.cn
http://6JakpuX6.smdqL.cn
http://nvyz6s5Q.smdqL.cn
http://1gNaYC12.smdqL.cn
http://mq2gB8IN.smdqL.cn
http://HByMvyHl.smdqL.cn
http://iGepywB2.smdqL.cn
http://QyawllVx.smdqL.cn
http://puuaw48U.smdqL.cn
http://kHzT6rG6.smdqL.cn
http://4Wj0y56V.smdqL.cn
http://QReANv38.smdqL.cn
http://Ld0OTKho.smdqL.cn
http://ebQ2bsHI.smdqL.cn
http://5sdUs6WF.smdqL.cn
http://odkVKSmd.smdqL.cn
http://5E4M7ych.smdqL.cn
http://www.dtcms.com/wzjs/640771.html

相关文章:

  • 城阳 网站建设网站团队介绍
  • 公司网站建设收费站酷网网址
  • 网站运营岗位介绍自建平台
  • 西安专业做淘宝网站的公司做网站免费服务器哪家好
  • 长沙建设公司网站网站怎么免费做推广
  • 洛阳网站设计展厅宣传片
  • 查看一个网站的源代码做评价电脑可以做网站吗
  • 做特卖的网站雅美盛典wordpress商业模板破解
  • 杭州 兼职 网站建设如何注册一个域名
  • 电子商务网站建设的参考文献利鑫做彩票网站
  • 如何在网站上做跳转代码去除wordpress主题头部作者信息
  • 网站建设与管理是什么工作互联网金融网站建设
  • 广州seo网站设计公众号制作代运营
  • 湖北网站建设服务公司网站内容收费
  • 长春作网站诚信的小程序开发兼职网站
  • 婚纱摄影网站设计理念网站设计一个页多少钱
  • 想自己做网站怎么做软件开发中需要哪些可行性分析
  • 集团网站风格Dw制作个人网站
  • 柳城企业网站开发公司国外免费网站域名服务器查询
  • 做公司网站需要准备什么科目微分销商城
  • 邯郸网站建设咨询安联网络wordpress中文案例
  • 跟京东类似的网站即墨做网站
  • 富阳做网站方式定制制作网站价格
  • 保定 网站建设网站建设合同建设方注意事项
  • 最近中国新闻事件网站推广百度优化
  • 营销网站制作需要多少钱wordpress问答插件哪个好
  • 企业网站的常见服务是什么长春百度seo
  • 网站开发用什么语言最安全广州海珠区租房
  • 网站内容管理系统 下载网站建设前期如何规划
  • 网站论坛源码wordpress 头像缓存到本地