1236 - 二分查找

代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[1100000];
int main()
{
	int n,x,l,r,p,mid,i;
	cin>>n;
	for(i=1;i<=n;i++)
		cin>>a[i];
	cin>>x;
	l=1;
	r=n;
	p=-1;
	while(l<=r)
	{
		mid=(r+l)/2;
		if(a[mid]==x)
		{
			p=mid;
			break;
		}
		else if(x<a[mid]) r=mid-1;
		else if(x>a[mid]) l=mid+1;
	}
	cout<<(p==-1?-1:p);
	return 0;
}

记得点赞+关注+收藏!!!谢谢!!!

相关推荐
进击的荆棘7 小时前
优选算法——双指针
数据结构·算法
努力努力再努力wz7 小时前
【Linux网络系列】:JSON+HTTP,用C++手搓一个web计算器服务器!
java·linux·运维·服务器·c语言·数据结构·c++
魂梦翩跹如雨7 小时前
死磕排序算法:手撕快速排序的四种姿势(Hoare、挖坑、前后指针 + 非递归)
java·数据结构·算法
D_evil__14 小时前
【Effective Modern C++】第二章 auto:6. 当auto推导的类型不符合要求时,使用显式类型初始化习惯用法
c++
夏鹏今天学习了吗14 小时前
【LeetCode热题100(87/100)】最小路径和
算法·leetcode·职场和发展
哈哈不让取名字14 小时前
基于C++的爬虫框架
开发语言·c++·算法
Lips61116 小时前
2026.1.20力扣刷题笔记
笔记·算法·leetcode
2501_9413297216 小时前
YOLOv8-LADH马匹检测识别算法详解与实现
算法·yolo·目标跟踪
洛生&16 小时前
Planets Queries II(倍增,基环内向森林)
算法
剑锋所指,所向披靡!16 小时前
C++之类模版
java·jvm·c++