1010: 折半查找的实现

解法:

cpp 复制代码
#include<iostream>
#include<vector>
using namespace std;
void solve() {
	int n;
	cin >> n;
	vector<int> vec(n);
	for (int& x : vec) cin >> x;
	int x;
	cin >> x;
	int l = 0, r = n-1, cnt = 0;
	while (l <= r) {
		cnt++;
		int mid = l + (r - l) / 2;
		if (vec[mid] > x) 
			r = mid - 1;
		else if (vec[mid] < x)
			l = mid + 1;
		else {
			cout << mid << endl;
			cout << cnt;
			return;
		}
	}
	cout << -1 << endl;
	cout << cnt;
}
int main() {
	solve();
	return 0;
}
相关推荐
yy_xzz13 小时前
【OpenCV + VS】C++实现动态下雪特效
c++·人工智能·opencv
天选之女wow13 小时前
【Hard——Day4】25.K 个一组翻转链表
数据结构·算法·leetcode·链表
曾经的三心草13 小时前
Java数据结构-List-栈-队列-二叉树-堆
java·数据结构·list
橘子真甜~13 小时前
C/C++ Linux网络编程5 - 网络IO模型与select解决客户端并发连接问题
linux·运维·服务器·c语言·开发语言·网络·c++
余俊晖14 小时前
英伟达开源多模态视觉语言模型-Nemotron Nano V2 VL模型架构、训练方法、训练数据
人工智能·算法·语言模型·自然语言处理·多模态
2501_9411114614 小时前
C++中的原型模式
开发语言·c++·算法
高洁0114 小时前
国内外具身智能VLA模型深度解析(2)国外典型具身智能VLA架构
深度学习·算法·aigc·transformer·知识图谱
一只会写代码的猫14 小时前
C# 性能优化:从垃圾回收到多线程并发
jvm·算法
慢慢向上的蜗牛14 小时前
微软vcpkg包管理工具如何使用?
c++·microsoft·vcpkg·跨平台编译
wangjialelele14 小时前
详解mysql命令行操作与语言链接
c语言·数据库·c++·mysql·oracle