Search in Rotated Sorted Array
来源:互联网 发布:淘宝处罚规则 编辑:程序博客网 时间:2024/06/05 18:00
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7
might become 4 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.
分析:
显然用二分查找法喽
但是,当mid处于前半部分还是后半部分时对left和right的处理时不同,所以要分开处理
当mid处于前半部分时,如果left元素小于target,target也小于right元素,说明target在left和mid之间,则right = mid - 1;否则,left = mid + 1;
当mid处于后半部分时,如果right元素大于target,target也大于mid元素,说明target在mid和right之间,则left = mid + 1,否则,right = mid - 1
参考代码:
http://www.programcreek.com/2014/06/leetcode-search-in-rotated-sorted-array-java/
public class Solution { public int search(int[] nums, int target) { int left = 0; int right= nums.length-1; while(left<=right){ int mid = left + (right-left)/2; if(target==nums[mid]) return mid; if(nums[left]<=nums[mid]){ if(nums[left]<=target&& target<nums[mid]){ right=mid-1; }else{ left=mid+1; } }else{ if(nums[mid]<target&& target<=nums[right]){ left=mid+1; }else{ right=mid-1; } } } 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
- win7搭建ftp
- ocp-005
- 《iOS Human Interface Guidelines》——Starting and Stopping
- fastjson中@JSONField注解的用法
- h5 localstorage 不能存true和false
- Search in Rotated Sorted Array
- 原型关系
- 【容斥原理】HDOJ GCD 1695
- BP神经网络从理论到应用(一):C++实现
- 开发smarty php 知识积累
- char数组 、char指针与字符串常量的比较
- Android Socket编程实例
- SourceTree 学习总结(摘抄)
- intellij 快捷键