擅长:python、mysql、java
<p>如果需要不带对分函数的实现,可以尝试以下代码:</p>
<pre><code>def findFirstLargerOrEqual(num, sortedList):
'''Finds the smallest index in the sortedList
of the element which is greater-than or equal to num'''
slen = len(sortedList)
start = 0
while slen > 0:
m = start + slen//2
if sortedList[m] < num:
slen = slen - (m+1 - start)
start = m+1
continue
if start < m and sortedList[m-1] >= num:
slen = m - start
continue
return somenumbers[m]
raise ValueError('Not found')
somenumbers=[n*2 for n in range(131072)]
print(findFirstLargerOrEqual(262139, somenumbers)) #output: 262140
</code></pre>