在python的长向量中查找低于某个值的最大值
嗨,我有一个很长的numpy向量(1000000+)在python的长向量中查找低于某个值的最大值,python,vector,max,min,Python,Vector,Max,Min,嗨,我有一个很长的numpy向量(1000000+)maxy1充满了整数。向量按升序排序。现在我还有另一个整数val。n现在我想在val 我所做的是: idx=maxy1[np.其中(maxy1
maxy1
充满了整数。向量按升序排序。现在我还有另一个整数val
。n现在我想在val
我所做的是:
idx=maxy1[np.其中(maxy1
但是太慢了,我不得不重复这个操作10000次,占用了94%的运行时间。有没有加快速度的想法?对于这类任务,我建议您使用: 输出
6
从文件中:
二进制搜索用于查找所需的插入点
二进制搜索在最坏情况下的性能为O(logN)(参见维基百科)而不是当前的线性O(N)。很好的解决方案,它的速度只快了4倍:)
6