在部分有序数组中查找定值
来源:互联网 发布:淘宝虚拟商品退款规则 编辑:程序博客网 时间:2024/05/18 01:24
描述:给定一个有序数组经过部分旋转,如{0,1,2,3,4,5,6}旋转后{4,5,6,0,1,2,3};给定key值,若查找成功则返回数组中key值元素索引,否则返回-1。
思路一:暴力法,从数组头遍历到尾部,依次查找。
class Solution{public:int search(int A[],int n,int value){if(n==0)return -1;for(int i=0;i<n;i++){if(A[i]==value)return i; } return -1;}};思路二:利用二分查找。
class Solution{public:int search(int A[],int n,int value){if(n==0)return -1;int first=0;int last=n-1;while(first!=last){const int mid=first+(last-first)/2;if(A[mid]==value) return mid;if(A[first]<A[mid])//分两种情况:1.前半部分有序2.后半部分有序{if(A[first]<=value&&A[mid]>value){last=mid-1;}else{first=mid+1;}}else{if(A[mid]<value&&A[last]>=value){first=mid+1;}else{last=mid-1;}}}return -1;}};
0 0
- 在部分有序数组中查找定值
- 在部分有序数组中查找定值2
- 笔试面试之有序数组中查找和为定值的两个数
- 在一个有序的旋转数组中,查找给定值
- 二分法在有序数组中进行查找
- 在查找有序二维数组中查找元素
- 在数组(序列、有序集合)中查找特定数组
- 循环有序数组中查找指定值
- 在一个两段有序的数组中查找
- 在有序递增数组中查找一个缺少的数字
- 3 - 在有序二维数组中查找元素
- 在有序但含有空的数组中查找字符串
- 在有序但含有空的数组中查找字符串
- 在有序但含有空的数组中查找字符串
- 二分法在有序数组中查找一个数
- 在有序但含有空的数组中查找字符串
- 在一个旋转有序数组中,查找最小的数
- 二维有序数组中查找
- ROS:Nvidia Jetson TK1平台安装使用ROS
- hdu-3480-Division-dp-斜率优化
- setRotation
- 使用REFERER跳转回修改前的分页页面
- 去掉字符串String中的换行或空格
- 在部分有序数组中查找定值
- PHP添加zip&&curl扩展
- SKSpriteNode对象初始化在iPhone 6 plus中显示不正确的分析及解决
- HTML5布局元素
- 项目关键路径
- Mongoose轻松搞定MongoDB,不要回调!
- 理解LinkedHashMap
- 开始博客生涯
- hdu 2087 剪花布条