【开发者笔记】二分法查找

简介: 刚看到一篇博客说现在90%的程序员都无法正确的写出二分法查找,吓得我赶紧试了试 #python codedef binary_serach(arr,st,end,tar): mid = st + end mid = mid // 2 if st > end: ...

刚看到一篇博客说现在90%的程序员都无法正确的写出二分法查找,吓得我赶紧试了试

#python code
def binary_serach(arr,st,end,tar): mid = st + end mid = mid // 2 if st > end: return False elif tar == arr[mid]: return True elif tar < arr[st] or tar > arr[end]: return False elif tar < arr[mid]: return binary_serach(arr,st,mid,tar) elif tar > arr[mid]: return binary_serach(arr,mid+1,end,tar) else: return False if __name__ == "__main__": l = [1,3,5,6,8,9,12,15,17,23,45] print(l) print("target: %s, result: %s" % (0, binary_serach(l, 0, len(l) - 1, 0))) print("target: %s, result: %s" % (1, binary_serach(l, 0, len(l) - 1, 1))) print("target: %s, result: %s" % (2, binary_serach(l, 0, len(l) - 1, 2))) print("target: %s, result: %s" % (3, binary_serach(l, 0, len(l) - 1, 3))) print("target: %s, result: %s" % (23, binary_serach(l, 0, len(l) - 1, 23))) print("target: %s, result: %s" % (45, binary_serach(l, 0, len(l) - 1, 45))) print("target: %s, result: %s" % (46, binary_serach(l, 0, len(l) - 1, 46)))

下面是测试结果

 

那么我还没忘

技术发展那么快,一次又一次的迭代,到头来发现,还是颈椎病对我们不离不弃。

活动脖子,天天code

那么今天就愉快的下班了吧

 

黑夜给了我黑色的眼睛,我却用它寻找光明
目录
相关文章
|
14天前
|
C语言
【递归搜索回溯专栏】前言与本专栏介绍
【递归搜索回溯专栏】前言与本专栏介绍
21 0
|
4月前
|
算法
刷题专栏(二十四):两个数组的交集
刷题专栏(二十四):两个数组的交集
87 0
|
8月前
|
算法
代码随想录算法训练营 | 数组小结
代码随想录算法训练营 | 数组小结
|
8月前
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序4
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序4
29 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序5
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序5
23 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序1
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序1
28 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序2
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序2
34 0
|
10月前
|
算法 Java 测试技术
二分查找算法简单进阶
这里将对刷题笔记一文末提及的几道推荐二分法进阶题目进行说明介绍。一道简单题加了一定的文字修饰,一道中等题巧用二分查找,以下为刷题笔记一链接,题目链接在文末提供。
115 0
|
10月前
数组学习记录
数组学习记录
|
前端开发
#yyds干货盘点# 前端歌谣的刷题之路-第六十四题-查找元素位置前端歌谣的刷题之路-第六十四题-查找元素位置
#yyds干货盘点# 前端歌谣的刷题之路-第六十四题-查找元素位置前端歌谣的刷题之路-第六十四题-查找元素位置
52 0
#yyds干货盘点# 前端歌谣的刷题之路-第六十四题-查找元素位置前端歌谣的刷题之路-第六十四题-查找元素位置