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

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

相关推荐
执笔论英雄几秒前
【RL】 ROLL中负载均衡
运维·算法·负载均衡
星辞树5 分钟前
从计数到预测:深入浅出词向量 (Word Vectors) —— Stanford CS224n 作业实战记录
算法
JarryStudy5 分钟前
自动调优在Triton-on-Ascend中的应用:从参数优化到性能极致挖掘
人工智能·算法·昇腾·cann·ascend c
CoderYanger9 分钟前
递归、搜索与回溯-穷举vs暴搜vs深搜vs回溯vs剪枝:13.子集
java·算法·leetcode·机器学习·剪枝·1024程序员节
乌萨奇也要立志学C++13 分钟前
【Linux】线程概念 线程与进程深度剖析:虚实内存转换、实现机制与优缺点详解
linux·c++
黑客思维者13 分钟前
底层冗余性原理探秘模型剪枝(Pruning)为何能“无损”压缩模型?
算法·机器学习·剪枝
爱学习的小邓同学15 分钟前
数据结构 --- 二叉搜索树
数据结构·c++
浪漫血液&16 分钟前
索引为什么用B+树而不是B树
数据结构·数据库·b树·b+树
Wild_Pointer.22 分钟前
高效工具实战指南:CMake构建工具
c++·软件构建
疯疯癫癫才自由22 分钟前
爬取Leetcode Hot 100 题单
算法·leetcode