小编AAC*_*AAC的帖子

为什么deque解决了"滑动窗口最大值"问题O(n)而不是O(nk)?

问题是在长度为n的数组中找到大小为k的每个子阵列中的最大值.

蛮力方法是O(nk).但是使用双端队列,解决方案应该是O(n).但是我不相信它会到达O(n),特别是因为这个while循环:

# Remove all elements smaller than 
# the currently being added element  
# (Remove useless elements) 
while Qi and arr[i] >= arr[Qi[-1]] : 
    Qi.pop()
Run Code Online (Sandbox Code Playgroud)

它位于从k到n的for循环内部.难道这技术上不会每个循环运行k次,介于O(n)和O(kn)之间?即使对于deque解决方案,最坏情况下的时间复杂度实际上是O(kn)吗?

algorithm performance big-o

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

使用花式索引从 Numpy 数组中查找和删除全零列

如何在 numpy 数组中找到全为零的列,然后从数组中删除它们?我正在寻找一种方法来获取列索引,然后使用这些索引进行删除。

arrays indexing numpy slice

7
推荐指数
3
解决办法
7431
查看次数

为什么在使用 `functools.partial` 调用时,python 的 `datetime.strptime` 函数的行为方式不同?

这是我面临的错误示例:

In [1]: from functools import partial                                                                                             

In [2]: from datetime import datetime                                                                                             

In [3]: datetime.strptime("2/3/2016", "%m/%d/%Y")                                                                                 
Out[3]: datetime.datetime(2016, 2, 3, 0, 0)

In [4]: partial(datetime.strptime, "%m/%d/%Y")("2/3/2016")                                                                        
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-4-d803aff4879c> in <module>
----> 1 partial(datetime.strptime, "%m/%d/%Y")("2/3/2016")

~/miniconda3/envs/ROS/lib/python3.6/_strptime.py in _strptime_datetime(cls, data_string, format)
    563     """Return a class cls instance based on the input string and the
    564     format string."""
--> 565     tt, fraction = _strptime(data_string, format)
    566     tzname, gmtoff = tt[-2:]
    567     args = tt[:6] + (fraction,) …
Run Code Online (Sandbox Code Playgroud)

python datetime

3
推荐指数
1
解决办法
492
查看次数

标签 统计

algorithm ×1

arrays ×1

big-o ×1

datetime ×1

indexing ×1

numpy ×1

performance ×1

python ×1

slice ×1