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

asp.net+网站开发+实战局网站建设

asp.net+网站开发+实战,局网站建设,做外贸网站怎么做,重庆市建设工程节能中心网站1. 问题描述 给定一个环形数组#xff08;最后一个元素的下一个元素是数组的第一个元素#xff09;#xff0c;为每个元素打印下一个更大的元素。数字x的下一个更大的数#xff0c;是遍历数组的过程中出现的第一个更大的数字#xff0c;这意味着可以循环搜索以查找其下一…1. 问题描述 给定一个环形数组最后一个元素的下一个元素是数组的第一个元素为每个元素打印下一个更大的元素。数字x的下一个更大的数是遍历数组的过程中出现的第一个更大的数字这意味着可以循环搜索以查找其下一个更大的数字如果它不存在则为此数字输出-1。注意给定数组的长度不超过10000。 2. 问题示例 输入[121]输出[2-12]第一个1的下一个更大的数字是2数字2找不到下一个更大的数字第二个1的下一个更大的数字需要循环搜索答案也是2。 3. 代码实现 使用单调栈算法实现。单调栈算法是一种常用的栈操作技巧它通过维护一个单调递减或单调递增的栈来实现一些特定的操作。 def next_greater_element(nums):n len(nums)result [-1] * n # 初始化结果列表为-1stack [] # 使用一个栈来维护单调递减序列# 遍历两倍长度的数组以处理循环的情况for i in range(2 * n):# 对于每个元素不断弹出栈顶元素直到栈顶元素小于当前元素或者栈为空while stack and nums[stack[-1]] nums[i % n]:index stack.pop()result[index] nums[i % n]# 将当前元素的下标压入栈中stack.append(i % n)return result nums [1, 2, 1] result next_greater_element(nums) print(result) 这个算法的时间复杂度是O(n)其中n是数组的长度。 在算法中我们遍历两倍长度的数组并使用一个栈来维护单调递减序列。对于每个元素我们不断弹出栈顶元素直到栈顶元素小于当前元素或者栈为空并将当前元素的下标压入栈中。最后我们得到每个元素的下一个更大的元素。因此整个算法的时间复杂度是O(n)。
http://www.zqtcl.cn/news/49493/

相关文章:

  • 新手建立网站的步骤工程建设云
  • 开封网站推广公司网络营销手段有哪些方式
  • 钓鱼网站模板制作集团公司网站建设方案
  • 现代网站开发技术wordpress id重置
  • 企业网站在百度搜索不到淄博做企业网站哪家好
  • 成都市网站建设公司嘉兴网站开发选哪家
  • 泰兴市淘宝网站建设cn wordpress
  • 织梦婚纱网站模板ico网站建设
  • 设计一个企业网站报价企业 办公 网站模板
  • 做旅游网站的开题报告毕业设计 网站建设选题
  • 四级a做爰片免费网站wordpress微信分享缩微图
  • 网站交接需要哪些微信营销网站建设
  • 设计师网站家装建站售后服务
  • 深圳专业企业网站制作网站的信息管理建设的必要性
  • 建设手机银行的网站东莞市有多少个镇
  • 没有备案的网站会怎么样公司装修办公楼
  • 学校网站设计论文石家庄有没有销售做被用的网站
  • 网站开发支付宝二维码支付互联网舆情信息
  • 绵阳做网站多少钱兰州迅豹网络
  • 做家具网站要多少钱wordpress 简历插件
  • 移动建站模板婚纱摄影网站的设计与实现
  • 做pc端网站要成本么西安全网优化
  • 福州建站服务管理大连建设工程信息网专家库
  • 为什么教育网站做的都很烂网站建设安全规划
  • 网站搭建好之后提示网页走丢了泰州网站制作公司
  • 广州英文网站建设电子商务网站开发流程图
  • html5网站图标建设网站和推广
  • 企业怎样建立自己的网站做豆制品的网站
  • 广州商城网站建设2019年怎么做网站
  • 单页面销售信网站赚钱系统搜索引擎关键词快速优化