码迷,mamicode.com
首页 > 其他好文 > 详细

二分法递归实现

时间:2018-09-10 13:34:29      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:取整   error   ror   二分   err   try   pytho   二分法   family   

#arr   有序数组
#m 需要比较的值
#left 左边最小值索引
#right 右边最大值索引
def bin(arr,m,left,right):
# left=0
# right=len(arr)-1
try:
midian=(left+right+1)//2 #python取整
#midian=int(midian)
if (m<arr[left]|m>arr[right]|arr[left]>arr[right]):
return None
elif arr[midian]==m:
return midian
elif arr[midian]<m:
return bin(arr,m,midian,right)
else :
return bin(arr,m,left,midian)
except RecursionError:
return None
当m值出现数组中没有的值时,采用try.....except异常处理

二分法递归实现

标签:取整   error   ror   二分   err   try   pytho   二分法   family   

原文地址:https://www.cnblogs.com/masterhu/p/9618461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!