1389 蓝桥杯 二分查找数组元素 简单

本文介绍了在C++中使用lower_bound和upper_bound函数进行二分查找的两种方法,适用于有序数组,分别基于递归和迭代,以及它们在查找目标值和数组排序中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1389 蓝桥杯 二分查找数组元素 简单

//C++风格解法1,lower_bound(),通过率100%
//利用二分查找的方法在有序的数组中查找,左闭右开
#include <bits/stdc++.h>
using namespace std;

int main(){
    
    int data[200];
    for(int i = 0 ; i < 200 ; ++i) data[i] = 4 * i + 6;
    int tager; cin >> tager;    //输入目标值
    cout << lower_bound(data,data + 200,tager) - data;

    return 0;
}

在有序数组中进行二分查找,升序,查找第一个 >= target的元素,时间复杂度O(logn)
lower_bound(data,data + 200,tager)返回物理地址,减去首地

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值