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

专业做公司宣传网站网站建设报价清单内容

专业做公司宣传网站,网站建设报价清单内容,国家认可的教育培训机构,给网站怎么做tag标签力扣上的经典问题#xff1a;接雨水 在众多的编程题库中#xff0c;力扣#xff08;LeetCode#xff09;是一个非常受欢迎的平台#xff0c;拥有大量的算法和数据结构练习题。其中#xff0c;接雨水#xff08;Trapping Rain Water#xff09;问题因其巧妙的思路和广泛…力扣上的经典问题接雨水 在众多的编程题库中力扣LeetCode是一个非常受欢迎的平台拥有大量的算法和数据结构练习题。其中接雨水Trapping Rain Water问题因其巧妙的思路和广泛的应用场景成为了经典的面试题之一。在这篇博客中我将介绍这个问题的背景解决思路并给出用C语言实现的解决方案。 问题描述 接雨水问题的描述如下 给定一个表示高度的数组数组中的每个元素表示一个柱子的高度柱子之间的宽度为1。求出这个柱子图形在下雨之后能够接多少雨水。 举例来说给定高度数组 height [0,1,0,2,1,0,1,3,2,1,2,1]该数组表示的图形如下图所示 ## ### ## ###############通过图形可以看出能够接住的雨水总量为6。 解题思路 解决这个问题的方法有很多种常见的有以下几种 暴力法对于每一个柱子分别计算其左右两边的最大高度然后取其最小值减去柱子自身的高度累加所有柱子能够接住的水量。动态编程预先计算每一个柱子的左边最高高度和右边最高高度然后同样计算水量。双指针法使用双指针从两端向中间遍历计算能够接住的水量。 下面我们主要介绍双指针法这种方法时间复杂度为O(n)空间复杂度为O(1)比较高效。 C语言代码实现 #include stdio.hint trap(int* height, int heightSize) {if (heightSize 0) return 0;int left 0, right heightSize - 1;int left_max 0, right_max 0;int water 0;while (left right) {if (height[left] height[right]) {if (height[left] left_max) {left_max height[left];} else {water left_max - height[left];}left;} else {if (height[right] right_max) {right_max height[right];} else {water right_max - height[right];}right--;}}return water; }int main() {int height[] {0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1};int size sizeof(height) / sizeof(height[0]);int result trap(height, size);printf(The amount of trapped rain water is: %d\n, result);return 0; }代码解析 初始化变量 left 和 right 分别指向数组的两端。left_max 和 right_max 分别记录左右两边的最大高度。water 用于累加接住的雨水总量。 双指针遍历 当左指针指向的高度小于右指针指向的高度时处理左指针指向的柱子 如果当前高度大于或等于 left_max更新 left_max。否则将 left_max 减去当前高度得到当前柱子能接住的雨水量累加到 water。 当右指针指向的高度小于等于左指针指向的高度时处理右指针指向的柱子 如果当前高度大于或等于 right_max更新 right_max。否则将 right_max 减去当前高度得到当前柱子能接住的雨水量累加到 water。 输出结果最终 water 中累加的值即为总共能接住的雨水量。 总结 接雨水问题是一个经典的动态规划问题通过不同的方法可以优化时间和空间复杂度。双指针法因其较低的时间复杂度和空间复杂度成为了面试中常见的解法之一。希望这篇博客能够帮助大家更好地理解接雨水问题并掌握其解决思路和方法。 希望这篇博客对你有帮助如果你有任何问题或需要进一步的解释请随时告诉我。
http://www.hkea.cn/news/14266907/

相关文章:

  • 龙岗网站制作效果微信网站制作企业
  • 厦门做模板网站的公司网站后台上传文章格式
  • 一流的聊城做网站费用自贡做响应式网站开发公司
  • 网站集约化平台建设专注赣州网站建设
  • 网站建设运维情况2019做网站需要营业执照吗
  • 怎么在自己做的网站上发视频教程做家装网站源码
  • 上海网站建设口碑好大同网络公司
  • 淮安新港建设有限公司网站wordpress主题公园
  • 阿里云服务器 放多个网站装饰工程施工流程步骤
  • 电子商务网站建设实训报告文章孩子学编程一年要多少钱
  • 西乡专业做网站公司给客户做一个网站ppt怎么做
  • redis做网站保定网站建设浩森宇特
  • 那个网站的域名便宜营销自己的网站
  • 石家庄建设一个网站多少钱网页设计心得体会100
  • 网站的基本知识怎样做一个公司网站
  • 沈阳点金网站建设网站后台用什么
  • 网站优化哪里可以做爱有声小说网站捡个校花做老婆
  • 利用wordpress做api提供者电商网站产品设计优化技术主要是
  • 网站开发外包维护合同范本营销策划书怎么写格式
  • 网站开发页面静态化技术谷歌seo外贸推广
  • 如何做视频教程网站惠州seo外包平台
  • 镇江网站建设优化案例分析杭州设计公司装修
  • 在服务器上部署网站企业信息
  • 苏州建设网站平台WordPress海报封面主题
  • 网站建设 站内页面连接如何搭建一个自己的服务器
  • 阿里云网站地图是怎么做的wordpress友链插件
  • 百度投诉电话24小时巩义自助建站优化
  • 未成年人做网站多少钱能注册500万公司
  • 温州网站建设价格技术山西太原网络推广
  • 馆陶网站建设公司体育用品东莞网站建设