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

杭州专业seo公司网站建设优化佛山

杭州专业seo公司,网站建设优化佛山,html静态网页作业成品,如何做网站方案题目 给你一个整数数组 nums#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 提示#xff1a; 1 nums.length 10^5 -10^4 nums[i…题目 给你一个整数数组 nums有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 提示 1 nums.length 10^5 -10^4 nums[i] 10 ^4 1 k nums.length 思路 如果暴力做法就是维护一个长度为k的数组没移动时先遍历该数组把最大值找出来。然后每移动一次如果右边新加入的数原最大值则更新最大值。如果左边移走的数就是最大值那么需要遍历此时移动后的数组找出最大值。这个找出最大值的过程为O(k)。移动整体窗口的过程是O(n)合起来就是O(nk)会超出时间限制。因为移动整体窗口的过程是省略不了的我们只能考虑如何将找出最大值的O(k)降为O(1)。 我们观察滑动窗口如果此时滑动窗口中只有两个下标i和j且ijnums[i]nums[j]那么只要i还在窗口内那么j也一定还在窗口内。且nums[i]一定是窗口中的最大值我们便不用再去遍历整个窗口了。如果我们以这个性质为出发点维护一个严格单调递减的下标从小到大的队列。即队列里存储的是下标但是值是严格单调递减的。那么就相当于队列里存储的是原数组第一大元素的下标原数组第二大元素的下标原数组第三大元素的下标……。 当向右滑动遍历到一个新元素now时我们 首先需要判断now是否大于队列末尾的第k大元素klast。 如果nowklast那么意味着队列的元素谁是第几大需要重新定义于是只要队列不为空我们便将now与队列末尾的元素last一个个比较如果now大于last就将last踢出队列直到遇到一个比now大的元素再将now插入到队列末尾因为那些被踢掉的last永远不可能是答案队列没有维护它们的必要。如果nowklast那么直接将now插入到队列末尾即可。 其次我们再判断向右滑动时是否会导致队首即原数组第一大元素滑出队列因为队列中存储的是在原数组的下标那么我们只需要判断这个队首元素是否i-k即可。 java代码 class Solution {public int[] maxSlidingWindow(int[] nums, int k) {int len nums.length;DequeInteger deque new LinkedList();int[] ans new int[len-k1];for(int i0;ik;i){while(!deque.isEmpty()nums[i]nums[deque.peekLast()]){deque.pollLast();}deque.offerLast(i);}ans[0]nums[deque.peekFirst()];for(int ik;ilen;i){while(!deque.isEmpty()nums[i]nums[deque.peekLast()]){deque.pollLast();}deque.offerLast(i);if(deque.peekFirst()i-k){deque.pollFirst();}ans[i-k1]nums[deque.peekFirst()];}return ans; } } 效率分析 28ms击败80.23%使用 Java 的用户。没必要再优化了。
http://www.yutouwan.com/news/304156/

相关文章:

  • 500强网站建设微网站与微信公众号
  • 网站建设条件招聘网站建设计划 文库
  • 常平镇网站仿做wordpress 4.7.2 被黑
  • wordpress网站插件下载免费自助建站网站一览自助建站平台
  • 网站开发需要什么人才那个网站详情页做的好
  • 手机有软件做ppt下载网站有哪些外墙清洗
  • 自建网站国家审核要多久做企业云网站的企业邮箱
  • 门户网站视频模板尺寸规格及价格
  • 做美缝在哪个网站接单百度电商广告代运营
  • 专业网站建设排名Php外贸网站建设新浪博客
  • 网站建设公司的发展前景品牌营销策划方案报价
  • 商丘网站公司电话号码百度推广账户登录
  • 北京做手机网站的公司在哪做网站关键词
  • 徐州网站关键词wordpress导航自定义
  • 上海外包公司网站建设平面设计公司创业计划书
  • 手机 网站 开发广州建网站白云区
  • 微网站建设制作wordpress电影网站主题
  • 网站开发服务转包合同范本特产网站建设的目的
  • 招远专业做网站公司万网是做网站的吗
  • 网站维护服务简述网站的制作步骤
  • nas网站怎么做网站网站建设横幅标语
  • 分类信息网站系统cms免费自助建下下载
  • 做网站cookie传值wordpress主机建站
  • 健身会所网站模板做视频教学网站
  • 江苏建设官方网站国外美容院网站
  • 网站四对联广告代码开设一个网站的费用
  • 青海企业网站制作设计网站国外
  • 青岛网站建设全包网站平台建设心得
  • 手游传奇新开服网站网站建设策划方案怎么写
  • 石碣镇网站仿做网站公司怎么做运营商