手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

求一个序列中元素第一次出现的位置下标

时间:2024-10-24 11:30:17

1、思路分析,这个题目可以使用二分法来实现,关于二分法可以参看我的另一篇经验介绍

求一个序列中元素第一次出现的位置下标

2、我们在这里假设这个序列所在区间的左端点为left,右端点为right,首先我们一步一步来拆解这个问题

求一个序列中元素第一次出现的位置下标

3、我们先来求目标元素什么时候出现,然后再来第一次出现的下标,在这里我们设要求的目标元素为x

求一个序列中元素第一次出现的位置下标

4、每次我们测试当前[left,right]的中间位置mid=(left+right)/2,判断A[mid]与x的大小

求一个序列中元素第一次出现的位置下标

5、如果A[mid]==x,说明查找成功,退出查询

求一个序列中元素第一次出现的位置下标

6、如果A[mid]>x,说明元素x在mid位置的左边,因此往左子区间[left,mid-1]继续查找

求一个序列中元素第一次出现的位置下标

7、如果A[mid]<x,说明x在mid位置的右边,因此往右子区间[mid+1,right]继续查找

求一个序列中元素第一次出现的位置下标

8、一直循环即可解决

求一个序列中元素第一次出现的位置下标
© 手抄报圈