博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【hiho】36 二分·二分查找【二分查找】
阅读量:7051 次
发布时间:2019-06-28

本文共 1096 字,大约阅读时间需要 3 分钟。

传送门:

分析

AC Code 1 简洁

AC Code 2首先排序,然后再用原始的二分查找法,也行吧。

Online AC Code 1

#include 
int main(void) { int n, k, ans = 1, appeared = 0, num; scanf("%d%d", &n, &k); while (n--) { scanf("%d", &num); if (num < k) ++ans; else if (num == k) appeared = 1; } if (!appeared) puts("-1"); else printf("%d\n", ans); return 0;}

Online AC Code 2

//hiho36#include
#include
#include
#include
#include
using namespace std;int a[1000100];//l是其应当插入的位置int bsearch(int posl,int posr,int key){ //[l,r]=[l,m][m+1,r] int m; int l=posl; int r=posr; while(l
>1; if(key>a[m]){//-> l=m+1; } else{//<- r=m; } } //assert(l==r); //assert(key<=a[l]||posr==l); return l;}int main(){ int u,k,v; int i; int j; int n; scanf("%d%d",&n,&k); for(i=1;i<=n;i++){ scanf("%d",a+i); } sort(a+1,a+1+n); j=bsearch(1,n,k); if(k==a[j]){ printf("%u\n",j); } else{ puts("-1"); } return 0;}

转载于:https://www.cnblogs.com/shengwang/p/9774645.html

你可能感兴趣的文章
《电路分析导论(原书第12版)》一2.7 电池寿命因素
查看>>
Java异常处理的误区和经验总结
查看>>
在 LinkedIn 之后,微软本周又收购了一家公司
查看>>
C++11新特性中的匿名函数Lambda表达式的汇编实现分析(一)
查看>>
Ubuntu on Windows 10 工作方式全解析
查看>>
《技术的潜能:商业颠覆、创新与执行》一一2.6前路曲折
查看>>
《OSPF和IS-IS详解》一6.3 复习题
查看>>
《脱颖而出——成功网店经营之道》一1.4 网店的特点
查看>>
开发者声称利用 FreeBSD 内核漏洞越狱 PS4
查看>>
API经济打通企业内外互通的任督二脉?
查看>>
Ubuntu 软件中心因推广非自由软件被批评
查看>>
《jQuery UI 开发指南》——第2章 选项卡2.1 选项卡的基本用法
查看>>
基于Hadoop集群的大规模分布式深度学习
查看>>
《网页设计心理学》一1.5 嗨,我理智地控制我的行为,不是么?
查看>>
《精通Wireshark》—第2章2.2节抓包过滤器
查看>>
可视化:把整个宇宙放在一张图里
查看>>
《游戏大师Chris Crawford谈互动叙事》一1.7 本章小结
查看>>
《精通Wireshark》—第1章1.7节练习题
查看>>
《Java编码指南:编写安全可靠程序的75条建议》—— 第1章 安全
查看>>
《网站分析师实战指南》一第2章 通往实战之路2.1 从“准备之地”开始
查看>>