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;
}

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

相关推荐
看见繁华1 分钟前
C++ 高级
开发语言·c++
点云SLAM10 分钟前
constexpr 和 explicit 在 C++ 中被提出的动机
开发语言·c++·explicit关键字·隐式转换·constexpr关键字·c++11/17/20
sin_hielo11 分钟前
leetcode 3606
数据结构·算法·leetcode
冷崖13 分钟前
工厂模式-创建型
c++·设计模式
qq_3106585122 分钟前
mediasoup源码走读(六)——NetEQ
服务器·c++·音视频
Xの哲學1 小时前
Linux DRM 架构深度解析
linux·服务器·算法·架构·边缘计算
qq_433554541 小时前
C++树形DP(树上分组背包)
c++·算法·深度优先
电子_咸鱼1 小时前
常见面试题——滑动窗口算法
c++·后端·python·算法·leetcode·哈希算法·推荐算法
mit6.8242 小时前
hash+presum判等|幻方0
算法
萌>__<新2 小时前
力扣打卡每日一题————最小覆盖子串
数据结构·算法·leetcode·滑动窗口·哈希表