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

 时间: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、一直循环即可解决

求一个序列中元素第一次出现的位置下标
  • 电脑鼠标键盘没反应怎么办
  • 鼠标可以动但点不了桌面图标怎么办
  • 笔记本电脑总是提示正在准备自动修复怎么办
  • 电脑未正确启动恢复不了怎么办
  • 笔记本电脑发热严重怎么办
  • 热门搜索
    cindy什么意思 支付分有什么用 什么情况下容易怀孕 什么是爱岗敬业 天麻丸的功效与作用 小学运动会入场口号 化妆知识 高露和高圆圆什么关系 什么牌子的保温杯好 附片的功效与作用