首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数组A构造数组B,每个索引都是原始数组中第k个元素的最大值

从数组A构造数组B,每个索引都是原始数组中第k个元素的最大值
EN

Stack Overflow用户
提问于 2019-07-08 14:23:30
回答 2查看 75关注 0票数 0

给定数组A,长度n和一个自然数k,使得1 <= k <= n。构造一个满足以下条件的B大小的数组n-k+1 -每个B[j]都是A[j],A[j+1],...A[j+k-1]之间的最大值

假设在线性时间内求解。例如:

代码语言:javascript
复制
A = {3,1,5,12,13,4,2} size 7 and k = 3. desired answer would be -
B = {5,12,13,13,13}

注意:这不是一个家庭作业问题,而是我有困难解决的考试后问题。

尝试使用最多包含k个元素的双端队列,但我在跟踪第k个最大值时遇到问题。

EN

回答 2

Stack Overflow用户

发布于 2019-07-08 14:50:24

这通常是一个单调的队列问题。

这里有一个关于它的描述。读一读它,它很容易!

https://leetcode.com/problems/sliding-window-maximum/discuss/65885/this-is-a-typical-monotonic-queue-problem

票数 0
EN

Stack Overflow用户

发布于 2019-07-08 16:48:04

我认为这将是有帮助的:https://www.geeksforgeeks.org/sliding-window-maximum-maximum-of-all-subarrays-of-size-k/。第三种解决方案是使用双队列来跟踪k个元素的窗口中的最大元素。复杂度将为O(n)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56929357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档