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

网络营销是什么岗位wordpress站群怎么优化

网络营销是什么岗位,wordpress站群怎么优化,网站建设方面存在的问题,学设计的网站一、题目描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights [2,1,5,6,2,3] 输出:10 解释&#xff1a…

一、题目描述

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

求在该柱状图中,能够勾勒出来的矩形的最大面积。

示例 1:

输入:heights = [2,1,5,6,2,3]
输出:10
解释:最大的矩形为图中红色区域,面积为 10

示例 2:

输入: heights = [2,4]
输出: 4

提示:

  • 1 <= heights.length <=105
  • 0 <= heights[i] <= 104

二、思路分析

使用栈空间来解决本题,通过空间换时间的方式。

三、代码参考

1、Java

class Solution {public int largestRectangleArea(int[] heights) {// 获取数组长度int len = heights.length;// 数组长度为 0 或者 1 时直接返回if(len == 0){return 0;}if(len == 1){return heights[0];}// 用来返回最大面积,初始值为 0int area = 0;// 创建栈空间做辅助Deque<Integer> stack = new ArrayDeque<>();// 循环遍历数组for(int i = 0; i < len; i++){// while(!stack.isEmpty() && heights[stack.peekLast()] > heights[i]){// 获取栈顶高度,并移除当前栈顶int height = heights[stack.removeLast()];// 做特殊的处理,如果当前栈顶的高度和上一个栈顶的高度相同,则也需要进行弹栈while(!stack.isEmpty() && heights[stack.peekLast()] == height){// 移除栈顶元素stack.removeLast();}// 创建宽度变量,初始值为 0int width = 0;// 如果栈为空,说明,有效柱体能够从 i 的左边一直延伸到第一个开始if(stack.isEmpty()){// 所以此时的宽度为 iwidth = i;}else {width = i - stack.peekLast() - 1;}// 计算面积, 长 * 宽,并获取最大面积area = Math.max(area, height * width);}// 将下标存入栈空间中stack.addLast(i);}// 将当前栈中的所有元素弹出while(!stack.isEmpty()){// 获取栈顶高度,并移除当前栈顶int height = heights[stack.removeLast()];// 做特殊的处理,如果当前栈顶的高度和上一个栈顶的高度相同,则也需要进行弹栈while(!stack.isEmpty() && heights[stack.peekLast()] == height){// 移除栈顶元素stack.removeLast();}// 创建宽度变量,初始值为 0int width = 0;// 如果栈为空,说明,有效柱体能够从 i 的左边一直延伸到第一个开始if(stack.isEmpty()){// 所以此时的宽度为 lenwidth = len;}else {width = len - stack.peekLast() - 1;}// 计算面积, 长 * 宽,并获取最大面积area = Math.max(area, height * width);}// 返回面积结果return area;}
}

2、Python

class Solution:def largestRectangleArea(self, heights: List[int]) -> int:size = len(heights)area = 0stack = []for i in range(size):while len(stack) > 0 and heights[i] < heights[stack[-1]]:height = heights[stack.pop()]while len(stack) > 0 and height == heights[stack[-1]]:stack.pop()if len(stack) > 0:width = i - stack[-1] - 1else:width = iarea = max(area, height * width)stack.append(i)while len(stack) > 0 is not None:height = heights[stack.pop()]while len(stack) > 0 and height == heights[stack[-1]]:stack.pop()if len(stack) > 0:width = size - stack[-1] - 1else:width = sizearea = max(area, height * width)return area

http://www.yayakq.cn/news/682545/

相关文章:

  • 功能型网站介绍开发公司工程部职责
  • 用.cc做网站官网可以吗品牌设计公司主营
  • win10做网站服务器wordpress解决新浪图床
  • 网站运营需要多少钱南宁网站建设费用
  • python网站开发流程图网站建设费用推荐网络
  • 怎么自己做网站推广国外 网站 模板
  • 做室内3d设计的网站通过php获取手机网站访客的手机号码
  • 做个app需要多少费用sem和seo的工作
  • 做视频免费模板下载网站重庆建站多少钱一年
  • 如何做好高端品牌网站建设山东省住房城乡建设厅查询网站首页
  • 北京给公司做网站多少钱北京门户网站制作
  • 丽江古城区建设局网站移动互联网论文5000字
  • 西部数码网站站点做网站给源码吗
  • 加强网站备案管理专项行动竞价推广账户托管服务
  • 移动wap网站大连公司
  • 济宁网站建设_云科网络网站底部版权代码
  • 怎么用ip做网站重庆网红打卡景点排行榜
  • 仙游县住房和城乡建设局网站可以安装两个wordpress
  • 网站开发完整视频美容医疗手机网站模板
  • 乐陵网站服务在哪一条莆田网站建设方案报价
  • 网站建设开发多少钱企业咨询公司是干嘛的
  • 想看别人的wordpress博客网站广州公司网站制作公司
  • 赤峰网站设计公司做软件网站
  • 企业门户网站建设咨询wordpress个性
  • 江苏住房与城乡建设厅网站林云seo博客
  • 应用大全网站建设厅证书查询
  • 公司做网站哪里好app开发制作公司排行榜
  • 把asp.net写的网站别人怎么访问做网站的服务器还需要空间吗
  • 怎么做全网小说网站企业网站建设招标
  • 免费建站网站建设长沙专业建设网站企业