相关疑难解决方法(0)

O(n)复杂度中子段中最大值的最小值

我几天前采访了亚马逊.我无法回答其中一个让我满意的问题.我在采访后试图得到答案,但到目前为止我还没有成功.这是一个问题:

你有一个大小为n的整数数组.给你参数k在哪里k < n.对于k阵列中每个连续元素大小的每个段,您需要计算最大值.您只需返回这些最大值的最小值.

例如给出1 2 3 1 1 2 1 1 1,k = 3答案是1.
该段将是1 2 3,2 3 1,3 1 1,1 1 2,1 2 1,2 1 1,1 1 1.
每个段中的最大的值是3,3,3,2,2,2,1.因此,答案是
这些值中的最小值.11

我想出的最佳答案是复杂度O(n log k).我所做的是创建一个带有第一个k元素的二叉搜索树,获取树中的最大值并将其保存在变量中minOfMax …

arrays algorithm big-o data-structures

13
推荐指数
2
解决办法
3586
查看次数

滑动窗口最小算法

这是一个家庭作业问题.设A []是整数数组和整数K - 窗口大小.当它在A上滑动时,生成在窗口中看到的最小值的数组M.我发现了一篇文章解决了这个问题,但是不明白为什么它有O(n)复杂度.任何人都可以向我解释一下吗?

algorithm

5
推荐指数
1
解决办法
4425
查看次数

标签 统计

algorithm ×2

arrays ×1

big-o ×1

data-structures ×1