二分查找 python实现
2024-09-06 21:43:14
欢迎回来 ^first blood.
要求A是升序数组
递归
只能查 数据存不存在,不能返回下标
def binary_find(A, m):
if len(A) == 0:
return -1
i = int(len(A)/2)
if A[i] == m:
return i
if A[i] > m and i - 1 > 0
return binary_find(A[0:i], m)
if A[i] < m and len(A)- (i+1) > 0
return binary_find(A[i+1 : ], m)
return -1
不用递归
可返回下标
def binary_find(A, m):
low = 0
high = len(A) - 1
while low <= high:
i = int( (low + high) / 2)
if A[i] == m:
return i
if A[i] > m:
high = i - 1
else:
low = i + 1
return None
最新文章
- Silverlight 缓存控制策略
- 【JAVA】【Eclipse】出现This element neither has attached source nor attached Javadoc...的解决方法
- 页面滚动动态加载数据,页面下拉自动加载内容 jquery
- WIndows 7 与 Debian 7 双系统启动引导
- json与jsonp区别浅析(json才是目的,jsonp只是手段)
- 分布式搜索elasticsearch 索引文档的增删改查 入门
- angularjs 利用filter进行表单查询及分页查询
- IOS开发之Post 方式获取服务器数据
- UVA 12563 Jin Ge Jin Qu hao
- 解密Lazy<;T>;
- CSS预编译器less简单用法
- 201621123027 《Java程序设计》第1周学习总结
- Oracle12c中性能优化&;amp;功能增强新特性之临时undo
- Django学习之二:Django 项目创建 和 应用创建
- Hadoop Hive HBase Spark Storm概念解释
- spring boot启动后执行方法
- jQuery雷达扫描切换幻灯片代码
- jeecg中的原生态组件
- [翻译]Review——24 tips for React Native you probably want to know
- chkconfig关闭必须的5个服务或者取出第一列