题目描述
给出n个已经从小到大排好序的整数,一个整数x在这个序列中的位置,找不到请输出no。
输入
第一行一个整数n 1<=n<=100000。
第二行 为n个从小到大排序的整数。
第三行为要查找的整数x
输出
每行为一个结果。找到输出位置,找不到输出"no"。
样例
输入 复制
5
1 2 4 5 6
4
输出 复制
3
4324: 【二分】二分查找
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- luj_1768 2022-02-12 07:36关注
二分查找很快么?因为需要事先排序,二分查找我个人认为不是很实用的查找方案。
对于大型数据,排序很耗时,如果是动态的、则有可能无法实现。
可以考虑:
根据使用需求,建立若干数据聚落,可以使用编写规则代码或者正则的方式实现;
查找数据时,可以在对应的聚落之中查找,通常使用一般的扫描方式应该就能够满足速度需求;
增添数据时,只需要把数据加入到正确的聚落中,应该能够自动化实现操作。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
- ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
- ¥15 数字信号处理考试111
- ¥100 关于#audobe audition#的问题,如何解决?
- ¥15 allegro17.2生成bom表是空白的
- ¥15 请问一下怎么打通CAN通讯
- ¥20 如何在 rocky9.4 部署 CDH6.3.2?
- ¥35 navicat将excel中的数据导入mysql出错
- ¥15 rt-thread线程切换的问题
- ¥15 高通uboot 打印ubi init err 22