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

html简单网站成品免费重庆建工集团

html简单网站成品免费,重庆建工集团,网站建设 h5 小程序,网站开发流程步骤题目信息 LeetoCode地址: . - 力扣#xff08;LeetCode#xff09; 题目理解 题意是很好理解的#xff0c;一个固定长度(k)的滑块从一个数组的左端一步一步向右滑#xff0c;然后挑出滑块盖住的那些数字中最大的#xff0c;组成的数组就是结果。 难点在于#xff0c;…题目信息 LeetoCode地址: . - 力扣LeetCode 题目理解 题意是很好理解的一个固定长度(k)的滑块从一个数组的左端一步一步向右滑然后挑出滑块盖住的那些数字中最大的组成的数组就是结果。 难点在于当滑块移动时左端的数字会被遗弃如果遗弃的刚好是最大的数字则要从剩下的k-1个元素以及右端新覆盖的元素里找到最大的。想要让时间复杂度低需要找到一种低成本的方式维护这些数字的有序性。这样即便最大的元素遗弃了第二大的元素也唾手可得。 如何得到一个单调递减的元素列 array呢假设当前滑块的左下标是l右下标是r. 好我们从下标il开始遍历一开始元素列是空的直接将i下标存进去。 array [i] i递增来到i1.此时有两种情况 i1下标对应的元素比array最后一个元素小i1下标对应的元素与array最后一个元素一样大i1下标对应的元素比array最后一个元素大 对第一种和第二种情况直接将其存入array因为我们需要的就是单调递减的array。 对第三种情况如果存入则违反了单调递减所以我们要从array尾部一直弹出元素直到array为空或者array尾部下标对应的元素比i1对应的元素要更大。 这里可能有人会想不明白如果将元素都弹出了有没有可能找不到最大元素其实不然我们在找最大元素时永远都是从array中取第一个元素我们永远都会取到最大元素。 发现了嘛我们是通过单调栈的方式使数组最终有序的在这个过程中我们遗弃了那些一定不会用到的元素。 当滑块向右移动时原理是类似的array中元素下标小于新l的元素需要从队首弹出而新r对应的加入的元素需要遵循同样的方式从队尾插入array。 单调栈单调队列 在nums长度为l滑块长度为k的情况下 时间复杂度: O(l), 滑块至多移动l-k次每次移动中元素只会进出queue一次。 额外空间复杂度:O(k), 至多需要k长度的队列存储单调递减的数列。 public int[] maxSlidingWindow(int[] nums, int k) {// 题目理解中的array使用 一个双端队列实现LinkedListInteger queue new LinkedList();int length nums.length;int[] res new int[length-k1];// 对于头k个元素需要初始化入队操作for (int i 0; i k; i) {// 递归单调出栈直到队空或者队尾大于当前元素while (!queue.isEmpty() nums[queue.peekLast()] nums[i]) {queue.pollLast();}// 插入新队尾元素queue.offerLast(i);}// 此时初始化完成的队列头元素就是第一个最大值res[0] nums[queue.peekFirst()];// l 和 r 模拟滑块的左右两端int l 1, r lk-1;//模拟滑块的移动操作while (r length) {// 由于l持续右移需要将array中队头小于l的元素移除while (!queue.isEmpty() queue.peekFirst() l) {queue.pollFirst();}// 重复单调出栈以及入栈的操作保持队列单调递减while (!queue.isEmpty() nums[queue.peekLast()] nums[r]) {queue.pollLast();}queue.offerLast(r);res[l] nums[queue.peekFirst()];l;r;}return res;}
http://www.zqtcl.cn/news/593637/

相关文章:

  • 做网站广告语网站注册建设
  • 仓山福州网站建设哪个是网站建设里面的
  • 开网站流程开发公司起名
  • 免费建站优化网站基本设置
  • 网站建设需要上传数据库吗seo自己做网站吗
  • 网站制作ppt杭州网站的特点
  • 美丽寮步网站建设价钱杭州网站设计询问蓝韵网络
  • 毕节网站建设公司网站职业技术培训学校
  • 果洛wap网站建设比较好17岁在线观看免费高清完整版
  • 一级a做爰片在线看免播放器网站一个网站突然打不开
  • 聊城网站开发培训wordpress实时预览载入中
  • 网站设计文章国际转运网站建设
  • 南充市建设厅官方网站购物网站设计说明
  • 防疫网站网页设计wordpress不同侧边栏
  • 网站的建设多少钱长春市招标建设信息网
  • 网站加速代码百度浏览器app
  • 关于配色的网站企业宣传册文案范文
  • 免费推广网站教程湖南中核建设工程公司官方网站
  • 莱阳网站建设公司彩票类网站是如何做代理的
  • 食品公司网站建设广州做网站制作公司
  • 网站上传服务器教程搜索网站存在的关键字
  • 天河建设网站多少钱网络公司网站样本
  • 做的精美的门户网站推荐附近编程培训机构
  • 台州黄岩做网站太原网站建设王道下拉惠
  • 深圳设计网站公司互联网服务平台投诉中心
  • 做seo网站优化哪家强济南网站建设公司排名
  • tp5网站文档归档怎么做手机虚拟机哪个好用
  • 网站建设公司的业务范围万网做网站多少钱
  • 做网站要用写接口6wordpress 汽车租赁
  • 网站开发方向paypal账号注册