擅长:python、mysql、java
<p>排序是不必要的,并且使得这个时间复杂度为O(n logn),而它应该只是O(n)。</p>
<p>我相信这正是您所寻找的,利用numpy数组索引:</p>
<pre><code>>>> # the smallest element of myArr greater than myNumber
>>> myArr[myArr > myNumber].min()
44
>>> # the largest element of myArr less than myNumber
>>> myArr[myArr < myNumber].max()
4
</code></pre>