Найти - Пользователи
Полная версия: найти ближайшее число, меньше заданного, в списке
Начало » Центр помощи » найти ближайшее число, меньше заданного, в списке
1 2
Aris_P@
че то такое видится
def f(n, arr):
	if n<=arr[0]:
		return None
	i, j = 0, len(arr)
	while (j-i)>1:
		c = (j-i)/2
		if arr[i+c]<n: i += c
		else: j -= c
	return arr[i]
Shaman
Есть ли смысл повторять то, что уже есть в библиотеке?
def bisect_right(a, x, lo=0, hi=None):
    if lo < 0:
        raise ValueError('lo must be non-negative')
    if hi is None:
        hi = len(a)
    while lo < hi:
        mid = (lo+hi)//2
        if x < a[mid]: hi = mid
        else: lo = mid+1
    return lo
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB