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

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

相关推荐
Xの哲學几秒前
Linux Worklet 深入剖析: 轻量级延迟执行机制
linux·服务器·网络·数据结构·算法
666HZ6663 分钟前
数据结构2.1 线性表习题
c语言·数据结构·算法
lihao lihao9 分钟前
C++ set和map
开发语言·c++·算法
yangminlei11 分钟前
MySQL玩转数据可视化
数据结构·sql·oracle
学嵌入式的小杨同学14 分钟前
顺序表(SqList)完整解析与实现(数据结构专栏版)
c++·算法·unity·游戏引擎·代理模式
格林威15 分钟前
多光源条件下图像一致性校正:消除阴影与高光干扰的 6 个核心策略,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·分类·视觉检测
iAkuya17 分钟前
(leetcode)力扣100 40二叉树的直径(迭代递归)
java·算法·leetcode
橘颂TA23 分钟前
【剑斩OFFER】算法的暴力美学——leetCode 103 题:二叉树的锯齿形层序遍历
算法·leetcode·结构与算法
2501_9011478323 分钟前
高性能计算笔记:灯泡开关问题的数学优化与常数级解法
笔记·算法·求职招聘
C_心欲无痕24 分钟前
JavaScript 常见算法与手写函数实现
开发语言·javascript·算法