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

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

求一个序列中元素第一次出现的位置下标
  • 电脑鼠标键盘没反应怎么办
  • 鼠标可以动但点不了桌面图标怎么办
  • 笔记本电脑总是提示正在准备自动修复怎么办
  • 电脑未正确启动恢复不了怎么办
  • 笔记本电脑发热严重怎么办
  • 热门搜索
    与清明节有关的手抄报 金色童年手抄报 科学知识手抄报 苗苗手抄报 关爱残疾人手抄报 国庆手抄报简单 祝福祖国手抄报 致敬抗美援朝争做时代新人手抄报 缅怀先烈的手抄报内容 普法手抄报