刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

37.小敏想用二分法对关键字14进行查找,请你帮她补全代码。
lst=[3,12,7,45,9,10,31,90,1,23,14,52]

key=14
n=len(a)
i,j=0,n-1
flag=-1
while ② :
mid=(i+j)//2
if key==a[mid]:
flag=mid
break
elif key>a[mid]:

else:
j=mid-1
if ④ :
print(str(key)+'没找到!')
else:
print(str(key)+'已找到!')

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】:在这个问题中,我们需要使用二分查找法来查找列表中的关键字。首先,我们设定了列表lst和要查找的关键字key。二分查找法的基本思路是,每次比较列表中间元素与目标值,如果中间元素正好是要查找的元素,则查找结束;如果目标值小于中间元素,则在列表的左半部分继续查找;如果目标值大于中间元素,则在列表的右半部分继续查找。在给出的代码框架中,我们需要填写①、②、③和④处的代码。对于①,由于题目已经给出了列表lst,所以①处不需要填写。对于②,while循环的条件应该是i<=j,表示在列表的左半部分和右半部分都还有元素时,继续查找。对于③,如果目标值大于中间元素,应该在列表的右半部分继续查找,所以应该将i设为mid+1。对于④,如果flag的值仍然是-1,表示没有找到目标值,所以应该输出"没找到!",否则应该输出"已找到!"。因此,完整的代码如上所示。
创作类型:
原创

本文链接:37.小敏想用二分法对关键字14进行查找,请你帮她补全代码。lst=[3,12,7,45,9,10,

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share