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

edm营销网站建设部网站造价注册

edm营销网站,建设部网站造价注册,文化建设新闻,做网站广告中敏感词会涉及到工商单调栈 单调栈是一个栈#xff0c;里面的元素的大小按照它们所在栈的位置#xff0c;满足一定的单调性#xff1b; 性质#xff1a; 单调递减栈能找到左边第一个比当前元素大的元素#xff1b;单调递增栈能找到左边第一个比当前元素小的元素#xff1b; 应用场景 一般用…单调栈 单调栈是一个栈里面的元素的大小按照它们所在栈的位置满足一定的单调性 性质 单调递减栈能找到左边第一个比当前元素大的元素单调递增栈能找到左边第一个比当前元素小的元素 应用场景 一般用于解决第一个大于XXX或者第一个小于XXX这一类的题目 优点实践复杂度是线性的每个元素只遍历一次 单调递减栈每次都能找到左边第一个比它大的数 单调递增栈每次都能找到左边第一个比它小的数 84. 柱状图中最大的矩形 https://leetcode.cn/problems/largest-rectangle-in-histogram/description/ 解法一暴力解法 依次遍历柱形的高度对于每一个高度分别向两边扩散求出当前高度为矩形的最大宽度 向左遍历看最多能向左延伸多长找到大于等于当前柱形高度的最左边元素的下标向右遍历看最多能向右延伸多长找到大于等于当前柱形高度的最右边元素的下标计算当前高度对应的最大面积与历史最大值进行比较并更新。 该解法在用例数量过多时容易超出实时间限制 class Solution:def largestRectangleArea(self, heights: List[int]) - int:size len(heights)res 0for i in range(size):# 找左边最后一个大于等于heights[i]的下标left icur_height heights[i]while left 0 and heights[left-1] cur_height:left - 1# 找右边最后一个大于等于heights[i]的下标right iwhile right size-1 and heights[right 1] cur_height:right 1max_width right - left 1res max(res, max_width * cur_height)return res解法二单调栈 获取每根柱子左边第一个比它低的柱子坐标单调递增栈获取每根柱子右边第一个比它低的柱子下标倒序来做就是左边第一个比它低的柱子遍历每根柱子求最大面积哨兵技巧两边各添加一个虚拟柱子 class Solution:def largestRectangleArea(self, heights: List[int]) - int:stack []left [0 for _ in range(len(heights))]right [0 for _ in range(len(heights))]res 0# 获取每根柱子左边第一个比它低的柱子下标for i in range(len(heights)):while stack and heights[stack[-1]] heights[i]:stack.pop()if not stack:left[i] -1else:left[i] stack[-1]stack.append(i)stack []# 获取每根柱子右边第一个比它低的柱子下标for j in range(len(heights) - 1, -1, -1):while stack and heights[stack[-1]] heights[j]:stack.pop()if not stack:right[j] len(heights)else:right[j] stack[-1]stack.append(j)# 求最大面积for i in range(len(heights)):res max(res, heights[i] * (right[i] - left[i] - 1))return res单调栈图示获取每根柱子右边第一个比它低的柱子下标则需要倒序来做 附录基础 python数据结构与算法理论基础专栏 数据结构与算法pythonhttp://t.csdnimg.cn/Gb6MN 程序 数据结构 算法而且在面试过程中这些是必考必问的内容。内容大纲基础数据结构树、链表、栈、队列等、常见算法排序算法、递归算法等。 专栏是基于python的基础知识是很好的入门学习资料。帮助大家快速理解这些数据结构和常见算法的概念同时结合力扣题目也能更好的掌握这些知识达到在面试中游刃有余的效果。 python基础语法 python基础精讲 http://t.csdnimg.cn/HdKdi 本专栏主要针对python基础语法帮助学习者快速接触并掌握python大部分最重要的语法特征。 1、基本数据类型和变量 2、分支结构与循环结构 3、函数与异常处理 4、类与模块 5、文件读写 通过本专栏可以快速掌握python的基础语法。
http://www.w-s-a.com/news/404676/

相关文章:

  • thinkcmf 做企业网站视频播放类网站建设费用
  • vps网站助手大学选修课网站建设
  • 南浦电商网站建设北京海淀社保网站
  • 传奇网站模板怎么做的吗大连警方最新通告
  • 成都私人做公司网站的北京网站建设需要多少钱
  • 魔客吧是什麼程序做的网站代理厦门网站设计公司
  • 90设计手机站东营网站推广
  • 哪家购物网站建设好专门做水生植物销售网站
  • php医院网站开发兼职app开发网上app开发
  • 接任务做兼职的的网站衡阳手机网站设计
  • 徐州经济开发区网站佛山百度关键词seo外包
  • 肃宁网站建设有限责任公司法人承担什么责任
  • 珠海斗门建设局网站如何免费做网站
  • 自助外贸网站建设可直接打开网站的网页
  • 江苏城嘉建设工程有限公司网站潍坊网站定制公司
  • 四川省住房和城乡建设厅新网站宜昌建设厅网站
  • 建设网站一般流程建设开发网站
  • 设计外贸英文网站国家企业信息信用公信系统
  • 主题资源网站创建时 如何突出设计的特点阿里云是做网站的吗
  • 乌市建设工程质量监督站网站外资公司注册
  • 档案馆网站机房建设做游戏网站打鱼
  • 网站建设平台 创新模式搭建好ftp服务器 如何通过网站访问
  • 苏州集团网站制作设计网页制作软件ai
  • 网站建设新手教程视频教程手帐风格wordpress主题
  • 做投标网站条件网站更改指定字段
  • mvc5 网站开发之美做印刷网站公司
  • 医疗网站建设精英微信网站用什么制作的
  • 银川网站设计联系电话地推加人2元1个
  • 龙华网站 建设深圳信科北京知名的网站建设公司
  • 怎么做qq刷赞网站搜盘 资源网