取下界的二分查找
程序员文章站
2024-03-17 19:42:52
...
-- 取下界的二分查找,未找到目标值,则取比目标值小的最近的数
-- 时间复杂度 log2n
function LC(a, obj)
local max, start, end1 = -1, 1, #a
while start <= end1 do
local mid = math.modf(start+(end1-start)/2)
if a[mid]>=obj then
end1 = mid - 1
else
max = mid
start = mid+1
end
end
return a[max]
end
local a = {8,5,6,9,2,10,5,2,4,6}
print(LC(a, 4))
上一篇: python脚本中二分查找的使用
下一篇: 魔兽世界:装备