二分查找的两种(找到val,找到第一val)
来源:互联网 发布:蝎子网络第一季百度云 编辑:程序博客网 时间:2024/05/22 12:49
对{1,2,3,3,3,3,3,4,5},找到3和找到在数组里面出现的第一个3,思路略有不同
找到3:
int binary_search_my(int* a,int n,int val){int start=0;int end=n-1;while(start<=end){ int mid=(start+end)>>1; if(a[mid]==val) return mid; else if(a[mid]>val) end=mid-1; else if(a[mid]<val) start=mid+1;}return -1;}
找到第一个3:
int find_first(int *a,int n,int val){ int start=0; int end=n-1; while(start<=end) { if(end-start==1) { if(a[start]==val) return start; else if(a[end]==val) return end; else return -1; } int mid=(start+end)>>1; if(a[mid]>=val) end=mid; else if(a[mid]<val) start=mid; }}
0 0
- 二分查找的两种(找到val,找到第一val)
- 二分查找,找到第一个符合条件的数字
- 二分查找----(返回第一个找到的值)
- !!val
- scala final val 和 val 的区别
- val 和 lazy val的区别
- val这样的用法
- val函数的使用
- jQuery的val用法
- Jquery的val()方法
- CV_CAST_8U(val);的意义!
- Scala的var,val
- jquery val() $("#sss").val();
- 根据不同的val判断val的字节数;
- jquery查找find()、取值val()
- Scala 之 private[this] val 与 private val的区别
- jquery的html,text,val
- jquery的html,text,val
- WebSphere Comments Collections组件反序列化漏洞(CVE-2015-7450)
- DNS域名解析基础知识
- ptrace的小例子
- 深入理解Java内存模型(二)——重排序
- Hadoop get JobId
- 二分查找的两种(找到val,找到第一val)
- yum报错Error: Cannot retrieve metalink for repository: epel
- 霍兰德职业测评
- 150. Evaluate Reverse Polish Notation
- JDBC(二)
- Android Launcher浅析(二)
- linux下c++使用pthread_create时需要调用类成员
- 获取图象匹配中的未匹配的特征点
- leetcode 27 Remove Element C++