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

可以做英文纵横字谜的网站蛋糕行业网站建设方案

可以做英文纵横字谜的网站,蛋糕行业网站建设方案,网站建设找哪个平台,网站底部浮动代码单调栈 单调栈概念 每日温度 单调栈 概念 单调栈#xff08;Monotonic Stack#xff09;是一个特殊的数据结构#xff0c;它是一种栈#xff0c;但具有单调性的特性。单调栈有两种类型#xff1a;单调递增栈和单调递减栈。 在单调递增栈中#xff0c;栈内的元素保持递… 单调栈 单调栈概念 每日温度 单调栈 概念 单调栈Monotonic Stack是一个特殊的数据结构它是一种栈但具有单调性的特性。单调栈有两种类型单调递增栈和单调递减栈。 在单调递增栈中栈内的元素保持递增顺序即后入栈的元素总是大于或等于先入栈的元素。同样在单调递减栈中栈内的元素保持递减顺序即后入栈的元素总是小于或等于先入栈的元素。 以下是一个单调栈的基本实现以单调递减栈为例 def monotone_stack(nums): stack [] result [-1] * len(nums) for i in range(len(nums)): while stack and nums[i] nums[stack[-1]]: # 出栈并记录右边第一个比其小的元素的下标 result[stack.pop()] i stack.append(i) # 处理剩余栈内元素 while stack: result[stack.pop()] len(nums) return result这个函数会返回一个列表表示每个元素的右边第一个比其小的元素的下标。如果没有这样的元素则返回数组长度表示该元素右边没有其他元素。注意这个实现是针对单调递减栈的如果需要单调递增栈只需将比较符号从 改为 即可。 举个例子对于输入数组 [5, 3, 1, 4, 2]单调递减栈的输出为 [4, 2, 1, 5, -1]。这表示 数字 5 右边第一个比它小的数字是 4下标为 3数字 3 右边第一个比它小的数字是 2下标为 4数字 1 右边没有比它小的数字下标为 -1数字 4 右边第一个比它小的数字是 2下标为 4但实际上这个输出是不准确的因为数字 2 在数字 4 的左边。这里我们可以看到这个实现其实是在找右边第一个比其小的元素而不是左边。数字 2 右边没有比它小的数字下标为 -1 注意上述例子的输出描述有误。实际上对于输入数组 [5, 3, 1, 4, 2]正确的输出应该是每个元素的右边第一个比其大的元素的下标。为了得到左边第一个比其大的元素的下标我们需要稍微修改一下算法。 这是一个更准确的描述和示例展示如何使用单调栈找到每个元素左边第一个比其大的元素的位置 def monotone_stack(nums):stack []result [-1] * len(nums) # 初始化结果列表所有位置先设为-1for i in range(len(nums)):while stack and nums[i] nums[stack[-1]]:# 当前元素比栈顶元素大所以栈顶元素的左边第一个比它大的元素就是当前元素result[stack.pop()] istack.append(i) # 将当前元素下标入栈return result# 示例 nums [5, 3, 1, 4, 2] print(monotone_stack(nums)) # 输出: [-1, 0, -1, 0, 3]在这个修正后的示例中 数字 5 左边没有比它大的数字下标为 -1数字 3 左边第一个比它大的数字是 5下标为 0数字 1 左边没有比它大的数字下标为 -1数字 4 左边第一个比它大的数字是 5下标为 0注意这里不是 3因为我们要找的是比 4 大的数字数字 2 左边第一个比它大的数字是 4下标为 3 这样我们就得到了每个元素左边第一个比其大的元素的位置。 每日温度 https://leetcode.cn/problems/daily-temperatures/description/?envTypestudy-plan-v2envIdtop-100-liked public static int[] dailyTemperatures(int[] temperatures){ // 栈一直单调递减int n temperatures.length;int[] res new int[n];LinkedListInteger stack new LinkedList();for (int i temperatures.length - 1; i 0; i--) {int t temperatures[i];while (!stack.isEmpty() ttemperatures[stack.peek()]){// 有比之前大的数字就弹出去stack.pop();}if(!stack.isEmpty()){res[i] stack.peek()-i;}stack.push(i);}return res;}
http://www.zqtcl.cn/news/984414/

相关文章:

  • wordpress theme珠宝最适合seo的网站源码
  • 建设工程规划许可证查询网站畜牧业网站模板
  • 做网站大概要多少钱页面网站缓存如何做
  • 家电网站建设需求分析朔州网络推广
  • 陕西交通建设集团网站体检网络营销中自建网站
  • 做游戏的php网站有哪些微信商城是什么
  • wordpress memcached redux深圳网站优化方法
  • 移动商城 网站建设方法方式韩国导航地图app
  • 企业网站源码是什么瑞安企业做网站
  • 佛山深圳建网站wordpress 段代码
  • 网站备案 强制仿牌网站容易被攻击吗
  • 网站做访问追踪js特效演示网站
  • 建设网站女装名字大全宝宝投票网站怎么做
  • 江苏省建设厅网站首页天津百度网站排名优化
  • 织梦网络设计工作室网站模板镇江市精神文明建设网站
  • 网站管理工具装修公司设计软件有哪些
  • 招标网站的服务费怎么做分录什么网站做玩具的比较多
  • 青海省住房建设厅网站WordPress主题启用出现错误
  • 自己怎么建网站网站的seo 如何优化
  • 博客网站模板下载如何自学美工
  • 哪个免费建站好专业seo要多少钱
  • 做3d建模贴图找哪个网站珠海建设网站公司简介
  • 网站开发过程前端后端qq刷赞网站咋做
  • 湘潭高新区建设局网站旅游做攻略的网站有哪些
  • wordpress网站云备份网站模块插件是怎么做的
  • 郑州市城乡建设规划网站深圳十佳设计公司排名
  • 上海建设项目环保验收公示网站两新支部网站建设
  • 网站开发移动端网络系统软件应用与维护
  • 浙江网站建设营销网站后台管理系统一般用户名是什么
  • 网站 空间 租用wordpress搬家需要修改