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

威海网站开发公司电话googlechrome

威海网站开发公司电话,googlechrome,深圳网站建站的公司,手机特殊网站题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 算法思想: 这里采取的是暴力解法和双指针的解法,但是这个题目还有其他的两种解法(单调栈和动态规划,同学可以自行了解&#xff…

题目链接:

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

算法思想:

这里采取的是暴力解法和双指针的解法,但是这个题目还有其他的两种解法(单调栈和动态规划,同学可以自行了解)

首先,在说算法思想之前,我们需要搞懂题目的意思,什么样情况属于可以接到雨水,如何相加,下面看一幅图来了解一下:

对于i下标对应的元素来说,它需要先找到左右两边的最大高度(要保证两边的高度都得大于i对应的高度),找到之后选择两边高度的较小值减去自己对应的高度就是所接到的雨水的量

暴力解法:

遍历整个数组,统计每个元素接到的雨水量进行相加(注意数组的遍历可以从1下标开始,因为0下标肯定是接不到雨水的)

//暴力解法public int trap(int[] height) {int n = height.length;int ans = 0;for(int i = 1;i < n;i++) {int l_max = 0;int r_max = 0;//找出i下标对应元素之后的最大的的高度for(int j = i;j < n;j++) {if(height[j] > r_max) {r_max = height[j];}}//找出i下标对应元素之前的最大的的高度for(int j = i;j >= 0;j--) {if(height[j] > l_max) {l_max = height[j];}}int max = Math.max(r_max,l_max);if(max <= height[i]) {//如果左右两边最大的高度没有当前i元素的高度高则装不来了水ans += 0;} else {//否则能装的水是Math.min(r_max,l_max) - height[i];ans += Math.min(r_max,l_max) - height[i];}}return ans;}
双指针解法:

使用两个指针left和right分别指向数组的第一个元素和最后一个元素,判断的终止条件是left=right,定义两个变量leftMax和rightMax分别表示遍历到元素高度的最大值,如果height[left]<height[right]则以左边为基准,接到的雨水量为leftMax-height[left],然后更新left,left++,反之接到的雨水量就是rightMax-height[right],right--

//双指针解法public int trap(int[] height) {int left = 0;int right = height.length - 1;int ans = 0;int leftMax = 0;int rightMax = 0;while(left < right) {leftMax = Math.max(leftMax,height[left]);rightMax = Math.max(rightMax,height[right]);if(height[left] < height[right]) {ans += leftMax - height[left];left++;} else {ans += rightMax - height[right];right--;}}return ans;}

http://www.dinnco.com/news/79153.html

相关文章:

  • 如何做网站条幅闪图百度服务中心官网
  • 自己做博客网站好网站排名英文
  • 个人网站建设方案书 范文电商网站订烟
  • 响应式网站建设如何百度app官方正式版
  • 万年历网站做宝塔没有域名直接做网站怎么弄
  • 平潭综合实验区建设工程网站百度推广客服工作怎么样
  • 自己做模板网站微信推广平台收费标准
  • 百度云网站建设新型网络营销方式
  • 公司网络维护主要做什么百度搜索怎么优化
  • 四川企业品牌网站建设中国十大品牌策划公司
  • 石家庄网站系统开发网络营销方案ppt
  • 水磨沟区网站建设百度推广费用
  • 做网站用的语言win11优化大师
  • 网站源码采集51趣优化网络seo工程师教程
  • 佛山顺德专业做网站宁波seo网络优化公司
  • 做网站之前要安装什么哈尔滨seo和网络推广
  • 怎么做属于自己的网站互动营销案例分析
  • 网站做rss wordpress最新nba排名
  • 怎么和其他网站交换友情链接青岛seo软件
  • 上海网站公安备案号哪个平台可以接推广任务
  • 做网站写个人日志专业的seo外包公司
  • 高端网站建设公司名称广告软文小故事200字
  • 专业做网站 优帮云迅雷磁力链bt磁力天堂下载
  • 科普互联网站建设我赢网客服系统
  • 泉州网站的建设广东网站seo策划
  • 什么软件可以做mv视频网站seo优化教程培训
  • 网站seo的重要性国内十大4a广告公司
  • 牡丹区住房城乡建设局网站有什么平台可以发广告
  • 四川省建设厅网站川北医学院seo零基础培训
  • 阳江市建设路龙源学校网站阿里指数查询手机版