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

企业网站 论文seo是做什么工作的

企业网站 论文,seo是做什么工作的,洛阳网站建设睿翼网络入驻洛阳,网站开发的开题报告引言LeetCode 42. 接雨水 题目描述 给定一个非负整数数组 height 表示柱状图中每个柱子的高度,请你计算按此排列的柱状图能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面的柱状图可以…

LeetCode 42. 接雨水

题目描述

给定一个非负整数数组 height 表示柱状图中每个柱子的高度,请你计算按此排列的柱状图能接多少雨水。

示例 1:

输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
输出:6
解释:上面的柱状图可以通过 6 个单位的雨水。

示例 2:

输入:height = [4,2,0,3,2,5]
输出:9

提示:

  • 0 <= height.length <= 10^4
  • 0 <= height[i] <= 10^5

Java 实现解法

方法一:动态规划
class Solution {public int trap(int[] height) {if (height == null || height.length == 0) {return 0;}int n = height.length;int[] leftMax = new int[n];int[] rightMax = new int[n];leftMax[0] = height[0];for (int i = 1; i < n; i++) {leftMax[i] = Math.max(leftMax[i - 1], height[i]);}rightMax[n - 1] = height[n - 1];for (int i = n - 2; i >= 0; i--) {rightMax[i] = Math.max(rightMax[i + 1], height[i]);}int water = 0;for (int i = 0; i < n; i++) {water += Math.min(leftMax[i], rightMax[i]) - height[i];}return water;}
}

解题思路

  • 动态规划:这个问题可以通过两次遍历数组来解决。首先,我们从左到右遍历数组,记录每个位置左侧最高的柱子高度。然后,从右到左遍历数组,记录每个位置右侧最高的柱子高度。
  • 计算雨水量:对于数组中的每个柱子,能接到的雨水量取决于其左右两侧最高的柱子高度中的较小值,减去该柱子的高度。这样,每个柱子能接到的雨水量就是 min(leftMax[i], rightMax[i]) - height[i]
  • 累加雨水量:遍历整个数组,将每个柱子能接到的雨水量累加起来,就得到了总的雨水量。

这种方法的时间复杂度是 O(n),其中 n 是数组 height 的长度,因为我们对数组进行了三次遍历。空间复杂度是 O(n),因为我们使用了两个额外的数组 leftMaxrightMax 来存储左右两侧的最高柱子高度。

方法二:双指针
class Solution {public int trap(int[] height) {int n = height.length;int left = 0, right = n - 1;int leftMax = 0, rightMax = 0;int water = 0;while (left < right) {if (height[left] <= height[right]) {if (height[left] >= leftMax) {leftMax = height[left];} else {water += leftMax - height[left];}left++;} else {if (height[right] >= rightMax) {rightMax = height[right];} else {water += rightMax - height[right];}right--;}}return water;}
}

解题思路

  • 双指针:我们使用两个指针 leftright 分别从数组的两端开始向中间移动。
  • 维护最大高度:同时维护两个变量 leftMaxrightMax 来记录 leftright 指针左侧和右侧的最大高度。
  • 计算雨水量:当 height[left] <= height[right] 时,我们移动 left 指针,并更新 leftMax。如果 height[left] 小于 leftMax,则这部分可以接到雨水,雨水量为 leftMax - height[left]。类似地,当 height[left] > height[right] 时,我们移动 right 指针,并更新 rightMax,计算雨水量。
  • 累加雨水量:将每次计算得到的雨水量累加起来,得到总的雨水量。

这种方法的时间复杂度是 O(n),其中 n 是数组 height 的长度,因为我们只遍历了数组一次。空间复杂度是 O(1),因为我们只使用了常数个额外的变量,没有使用额外的空间。

注:来源leetcode网站

http://www.khdw.cn/news/3526.html

相关文章:

  • 做网站建设销售员准备什么网络营销师工作内容
  • 重庆推广服务seo优化排名价格
  • 贵阳网站建设哪家好方舟bing搜索引擎下载
  • 网站建设规划面试技巧淘宝推广
  • 自己的电脑做网站seo下拉优化
  • 中国智慧城市建设门户网站黑帽seo技术
  • 网站推广的方式与技巧电脑优化大师哪个好
  • 土木工程毕业论文代做网站如何设计推广方案
  • 北京网站建设优化学校网络优化包括
  • 网站开发demo百度广告上的商家可靠吗
  • 外贸选品百度seo排名优化提高流量
  • 建设工程造价管理总站网站利尔化学股票
  • 网站的关键词库微信引流获客软件
  • 网站建设销售怎么样乐陵市seo关键词优化
  • 深圳网站设计制软文如何推广
  • 网站建设提供书面资料清单百度app内打开
  • 哈尔滨网站开发培训网站优化入门
  • wordpress 百家企业网站推广优化
  • 济南专业做企业网站合肥网络推广服务
  • 做啥网站流量高化妆品网络营销策划方案
  • 金融网站如何做设计方案北京互联网营销公司
  • 网站如何上传百度数据
  • 微信小程序企业网站站长工具查询域名
  • 网站投注员怎么做安阳企业网站优化外包
  • 网后台的网站怎么做网络推广一般都干啥
  • 国家建设部门三类人员官方网站佛山网络推广培训
  • wordpress打赏赚钱seo推广工具
  • 各类网站建设关键词网站排名查询
  • 什么是销售型网站德州百度推广公司
  • 网站备案信息真实性核验单 新网郑州seo服务公司