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

电商网站主题手机网站建设模板

电商网站主题,手机网站建设模板,app线上推广是什么工作,网站建设售前目录 题目1- 思路2- 实现⭐42. 接雨水——题解思路 3- ACM实现 题目 原题连接:42. 接雨水 1- 思路 模式识别:求雨水的面积 ——> 不仅是只求一个比当前元素大的元素,还要求面积 单调栈 应用场景,需要找到左边比当前元素大的…

目录

  • 题目
  • 1- 思路
  • 2- 实现
    • ⭐42. 接雨水——题解思路
  • 3- ACM实现

题目

  • 原题连接:42. 接雨水

1- 思路

模式识别:求雨水的面积 ——> 不仅是只求一个比当前元素大的元素,还要求面积

单调栈

  • 应用场景,需要找到左边比当前元素大的元素

单调栈实现

  • 当前元素和栈口元素作比较,如果当前元素大于栈口元素,此时收集结果:
  • 例如 栈口元素是 10,如果当前元素是 30
    • 此时找到 元素 10 右侧第一个比 它大的元素值是 30
    • 右侧第一个比他大的元素是 栈里的第二个元素

单调栈的维护

  • 单调栈与当前元素,存在三种情况,① 等于、②小于、③大于。要用单调栈来存储遍历过的元素
    • 如果小于等于 栈口元素,此时直接入栈
    • 如果大于栈口元素,此时收集结果
      • ①凹槽底部元素:int mid = st.top(); st.pop();
      • ②计算水高:int h = Math.min(st.top(),height[i])-height[mid]; 从右侧柱高,和左侧柱高取个最小值
      • ③计算雨水面积宽度:int width = i - st.pop() - 1;
      • ④计算面积:area = h * width;

2- 实现

⭐42. 接雨水——题解思路

在这里插入图片描述

class Solution {public int trap(int[] height) {int sum = 0;if(height.length == 0){return 0;}// 定义栈Stack<Integer> st = new Stack<Integer>();st.push(0);for(int i = 1 ; i < height.length;i++){if(height[i] <= height[st.peek()]){st.push(i);}else{while(!st.isEmpty() && height[i] > height[st.peek()]){int mid = st.peek();st.pop();if(!st.isEmpty()){int h = Math.min(height[st.peek()],height[i]) - height[mid];int width = i-st.peek() - 1; int hold = h*width;sum+=hold;}}st.push(i);}}return sum;}
}

3- ACM实现

public class getRain {public static int getRain(int[] nums){// 定义单调栈int len = nums.length;if(len==0){return 0;}int sum = 0;Stack<Integer> st = new Stack<>();st.push(0);for(int i = 1 ; i < len;i++){if(nums[i]<=nums[st.peek()]){st.push(i);}else{while(!st.isEmpty() && nums[i] > nums[st.peek()]){int mid = st.peek();st.pop();if(!st.isEmpty()){int h = Math.min(nums[st.peek()],nums[i])-nums[mid];int width = i - st.peek()-1;int hold = h*width;sum+=hold;}}}st.push(i);}return sum;}public static void main(String[] args) {// 计算Scanner sc = new Scanner(System.in);System.out.println("输入数组长度");int n = sc.nextInt();int[] nums = new int[n];for(int i = 0 ; i < n ; i ++){nums[i] = sc.nextInt();}System.out.println("雨水面积是"+getRain(nums));}
}
http://www.yayakq.cn/news/256385/

相关文章:

  • 重庆做网站及公众号公司html菜鸟入门
  • 研发网站要多长时间六盘水网络推广
  • 做网站服务器一年多少钱无锡高端网站建设机构
  • 深圳市企业网站seo联系方式如何维护网站的运营
  • 如何提高网站的安全性美容视频视频网站建设
  • 公司起名字大全免费评分鹤壁seo
  • fw怎么做网站h5技术的网站
  • 网站自然排名往后掉常见的简单的网站制作
  • 深圳网站品牌建设wordpress网站采集插件
  • 做一个网上商城网站建设费用多少钢城网站建设
  • 免费创网站做食品网站需要什么资质吗
  • 辽宁网站优化消费返利网站做的最长久的
  • 阿里网站建设App开发9377霸主传奇网页版
  • 房地产公司网站建设模板精湛的佛山网站设计
  • 肥乡企业做网站推广建立网站如何
  • 会展相关网站建设情况自动推广工具
  • 南京需要做网站的公司广州市增城区建设局网站是什么
  • 网站特效模板下载站群管理
  • 个人网站建设模板简洁图片免费游戏网站建设游戏后台
  • 手机网站建站工作室网站建设维护合同范本
  • 网站两列导航安阳设计工厂
  • 网站备案指的是什么福州seo技术培训
  • 做网站书建站公司排名前十名
  • 免费下载高清图片素材的网站施工企业安全培训心得体会100字
  • 建设旅游网站的意义wordpress 文章图片自动添加
  • 网站打开速度检测攻击便宜的seo网络营销推广
  • 南通网站建设贵吗浙江工信部网站备案查询
  • 免费网站开发框架宁波网站制作方案
  • 做与不做赞美网站青岛物流公司网站建设
  • 自建网站模板下载唐山市住房和诚乡建设局网站