二分查找2.0

简介: 题目:有一个长度为n的序列,q次查找,每一次查找输入一个值x,需要你找出序列中不超过x的最大数字,如果存在这种数字,请输出这个数字,否则请输出-1.输入:

题目:

有一个长度为n的序列,q次查找,每一次查找输入一个值x,需要你找出序列中不超过x的最大数字,如果存在这种数字,请输出这个数字,否则请输出-1.

输入:

13 3

2 5 8 10 15 25 35 45 50 60 70 80 90

24

45

1

输出:

15

45

-1

分析:这道题不难,就是判断的条件不好判断。

源码:

include

using namespace std;

int main(void)

{

int n,q;
cin>>n>>q;
int arr[n+1];
for(int i=1;i<=n;i++)
{
cin>>arr[i];
}
for(int j=0;j<q;j++)
{
int x,a=1,b=n;
cin>>x;
while(x>arr[1]&&x<arr[n]&&b-a>=0)
    {
int md=arr[(a+b)/2];
if(x==md)
        {
cout<<md<<endl;
            a=-1;
break;
        }else if(x>md)
        {
            a=(a+b)/2+1;
        }else if(x<md)
        {
            b=(a+b)/2-1;
        }
    }
if(a==1)
    {
cout<<-1<<endl;
    }else if(a!=-1)
    {
cout<<arr[b]<<endl;
    }
}
return 0;

}

目录
相关文章
|
9月前
|
安全 数据安全/隐私保护 Python
BUUCTF-[GUET-CTF2019]re(Reverse逆向)
本文介绍了如何对一个带有UPX壳的ELF文件进行逆向分析。首先通过010Editor确认文件类型和壳的存在,接着使用Free UPX工具进行脱壳。脱壳后在IDA中加载文件,通过字符串查找和交叉引用跟踪定位关键函数。最终利用Python的z3库解决约束问题,得到flag。过程中还遇到了Python版本兼容性问题,并通过重新安装z3-solver解决。最终flag为`flag{e165421110ba03099a1c039337}`,经MD5解密验证为`233`。
286 0
BUUCTF-[GUET-CTF2019]re(Reverse逆向)
|
安全 Linux 数据处理
探索Linux的kmod命令:管理内核模块的利器
`kmod`是Linux下管理内核模块的工具,用于加载、卸载和管理模块及其依赖。使用`kmod load`来加载模块,`kmod remove`卸载模块,`kmod list`查看已加载模块,`kmod alias`显示模块别名。注意需有root权限,且要考虑依赖关系和版本兼容性。最佳实践包括备份、查阅文档和使用额外的管理工具。
|
11月前
|
自然语言处理 资源调度 前端开发
前端大模型入门(四):不同文本分割器对比和效果展示-教你如何根据场景选择合适的长文本分割方式
本文详细介绍了五种Langchain文本分割器:`CharacterTextSplitter`、`RecursiveCharacterTextSplitter`、`TokenTextSplitter`、`MarkdownTextSplitter` 和 `LatexTextSplitter`,从原理、优缺点及适用场景等方面进行了对比分析,旨在帮助开发者选择最适合当前需求的文本分割工具,提高大模型应用的处理效率和效果。
1769 1
|
消息中间件 Java Kafka
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
|
移动开发 API
阿里云域名优惠口令及优惠口令获取方法_2024更新
阿里云域名优惠口令及优惠口令获取方法_2024更新,com域名续费优惠口令“com批量注册更享优惠”,cn域名续费优惠口令“cn注册多个价格更优”,cn域名注册优惠口令“互联网上的中国标识”,阿里云优惠口令是域名专属的优惠码,可用于域名注册、续费和转入使用,域名优惠口令区分域名后缀,阿里云百科分享2024年阿里云域名优惠口令更新(注册、转入、续费均可使用)
980 0
阿里云域名优惠口令及优惠口令获取方法_2024更新
|
数据安全/隐私保护
BurpSuite2021 -- Intruder模块
BurpSuite2021 -- Intruder模块
376 2
|
小程序 测试技术 定位技术
微信小程序景区的制作思路
微信小程序景区的制作思路
|
JavaScript 前端开发 开发工具
Vue 项目利用 HBuilderX 打包 APP 流程
Vue 项目利用 HBuilderX 打包 APP 流程
1748 3
|
机器学习/深度学习 存储 编解码
分组卷积/转置卷积/空洞卷积/反卷积/可变形卷积/深度可分离卷积/DW卷积/Ghost卷积/
分组卷积/转置卷积/空洞卷积/反卷积/可变形卷积/深度可分离卷积/DW卷积/Ghost卷积/
分组卷积/转置卷积/空洞卷积/反卷积/可变形卷积/深度可分离卷积/DW卷积/Ghost卷积/
|
图形学 异构计算
Unity【LOD Group】- 关于性能优化中LOD的使用与总结
Unity【LOD Group】- 关于性能优化中LOD的使用与总结
1051 0
Unity【LOD Group】- 关于性能优化中LOD的使用与总结