Search in Rotated Sorted Array
来源:互联网 发布:淘宝有平板客户端吗 编辑:程序博客网 时间:2024/06/06 17:14
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7 might become4 5 6 7 0 1 2).
You are given a target value to search. If found in the array return its index, otherwise return -1.
You may assume no duplicate exists in the array.
(i.e., 0 1 2 4 5 6 7 might become4 5 6 7 0 1 2).
You are given a target value to search. If found in the array return its index, otherwise return -1.
You may assume no duplicate exists in the array.
算法思路:
(1)根据二分思想,找出中间元素mid,first为起始下标,last为结尾下标
(2)比较first指向元素与mid指向元素的大小
如果小于,再判断target值是否位于first和mid所指向的值之间,如果在,修改last的值为mid,如果不在,修改first的值为mid+1
如:4 5 6 7 0 1 2,target=5
4 5 6 7 0 1 2,target=1
如果大于,判断target的值是否位于mid和last所指向的值之间,如果在这个区间,修改first的值为mid+1,否则修改last的值为mid
如:4 5 0 1 2,target=1
4 5 0 1 2,target=4
public static int search(int[] array,int target){if(array!=null){int first=0;int last=array.length-1;while(first!=last){int mid=(first+last)/2;if(mid==target)return mid;if(array[first]<=array[mid]){if(target<array[mid]&&target>array[first])last=mid;elsefirst=mid+1;}else{if(target>array[mid]&&target<array[last])first=mid+1;elselast=mid;}}}return -1;}
0 0
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- JSP/Servlet 工作原理
- StringBuffer功能
- Lua学习之xcode下简单调用C语言函数(待补充)
- 类别的作用?继承和类别在实现中有何区别?
- hdu 2001 java/c++ 计算两点间的距离
- Search in Rotated Sorted Array
- [leetcode 289]Game of Life
- Servlet和JSP的区别
- Linux多线程基础学习(二)创建新的线程
- sendRedirect()和forward的区别
- c++primer学习:泛型算法(2)
- 学习HTML5游戏开发的几个重要内容
- 一个简单的jsp+servlet实例,实现简单的登录
- LightOJ 1074 Extended Traffic SPFA