从有序数组中查找某个值(二分)
2017-03-13 18:47
260 查看
#include <iostream> #include <cstdio> using namespace std; const int maxn = 10000; int a[maxn]; int n,k; void solve() { int lb=-1,ub=n; while(ub-lb>1) { int mid=(lb+ub)/2; if(a[mid]>=k) { ub=mid; } else { lb=mid; } } printf("%d\n",ub); } int main () { scanf("%d%d",&n,&k); for(int i=0;i<n;i++) { scanf("%d",&a[i]); } solve(); return 0; }
相关文章推荐
- 二分数组的扩展:二分查找循环有序数组
- 9.5-字符串有序数组的二分查找
- hiho1128 非有序数组的二分查找 (快速排序)
- 实现有序列表(基于数组,二分查找)
- 算法—8.有序数组中的二分查找
- 旋转有序数组的二分查找
- 二分查找--查找重复有序数组中最左边最右边的target
- 在两个有序的数组中找第N个数,二分查找 O(lgm+lgn)级
- 插入元素到有序数组,二分搜索查找插入位置
- 数组封装应用及有序数组、二分查找源码实现
- 在一个旋转过的有序数组上实现二分查找 收藏
- 有序表查询之一:java实现整型数组二分查找
- (二分查找思想)从有序递增旋转数组45679123 中找到数字6的位置
- 写一个函数,实现一个整形有序数组的二分查找。
- 旋转有序数组的二分查找
- 有序数组中的二分查找
- java数据结构与算法-有序数组二分查找
- 有序数组的二分查找
- 对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。
- 在一个旋转过的有序数组上实现二分查找