本文主要是介绍6-199 统计二分查找比较的次数(Python),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在一个有序表中进行二分查找操作,要求查找元素x,判断是否找到,如果能找到,返回其所在位置,并统计查找过程中需要比较的次数;如果不能找到,则统计查找过程中需要比较的次数即可。
例如:0 2 4 5 8 9
查找元素8,它在位置4,比较次数为2
查找元素9,它在位置5,比较次数为3
查找元素10,没有找到,比较次数为3
函数接口定义:
def biSearch(a, x, cnt):
其中 a
、x
和 cnt
都是用户传入的参数。 a
存储数据的列表;x
是要查找的元素值;cnt
用来统计比较的次数。函数须返回查找是否成功的标记(成功返回位置,不成功返回0)以及查找过程中比较的次数。
裁判测试程序样例:
## 你的答案将被填在这里
if __name__ == '__main__':n = int(input())a = list(map(int, input().split()))x = int(input())cnt = 0t, cnt = biSearch(a, x, cnt)if t > 0:print("Find it! It is %d. You find %d times" % (t, cnt))else:
这篇关于6-199 统计二分查找比较的次数(Python)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!