搜索排序数组
来源:互联网 发布:生化危机游戏 知乎 编辑:程序博客网 时间:2024/06/05 05:21
问题描述
假设有一个排序的按未知的旋转轴旋转的数组(比如,0 1 2 4 5 6 7 可能成为4 5 6 7 0 1 2)。给定一个目标值进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。
解决
对于这种部分有序的数组都可以使用二分法
public int search(int[] A, int target) { int low=0; int high=A.length-1; while(low<=high){ int mid=low+(high-low)/2; if(A[mid]==target){ return mid; } else if(A[mid]<A[high]){ if(target>A[mid] && target<=A[high]){ low=mid+1; } else{ high=mid-1; } } else{ if(target<A[mid] && target>=A[low]){ high=mid-1; } else{ low=mid+1; } } } return -1; }
阅读全文
0 0
- 搜索旋转排序数组
- 搜索旋转排序数组
- 搜索旋转排序数组
- 搜索旋转排序数组
- 数组 :排序与搜索
- 搜索旋转排序数组
- 搜索旋转排序数组
- 搜索排序数组
- 数组的排序和搜索
- LintCode-搜索旋转排序数组
- 搜索旋转排序数组 II
- LintCode : 搜索旋转排序数组
- LintCode:搜索旋转排序数组
- LintCode:搜索旋转排序数组
- 搜索旋转排序数组 II
- 搜索旋转排序数组 II
- *[Lintcode]搜索旋转排序数组
- lintcode,搜索旋转排序数组
- 自适应网页设计
- 莫队+树状数组 AHOI 作业
- 使用cucumber-jvm自动化测试中遇到问题及解决
- QT之QToolBox使用问题记录
- 01背包,完全背包,多重背包
- 搜索排序数组
- [题解]关键子工程 拓扑排序+DP
- Java String 类
- 继承
- uevent 事件上报demo
- 一个故事讲清楚 NIO
- PHP超级全局变量、魔术变量
- linux root删除文件提示permission denied
- CSS之图片水平垂直居中总结