33. Search in Rotated Sorted Array
来源:互联网 发布:营口港大数据平台 编辑:程序博客网 时间:2024/06/14 22:35
Suppose an array sorted in ascending order 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.
二分查找旋转有序数组元素。
假设旋转为升序的,假设数组为的[3, 4, 5, 6, 7, 0, 1, 2],在数组mid值得左边或者右边,一定存在一个有序的子数组,如本例中mid对应的数组值为6, 在6的左边就是一个升序的子数组,如数组为[7, 0, 1, 2, 3, 4, 5, 6],则mid值为2,在2的右边为一个升序的子数组,根据这种关系,可以缩小搜索关系。
程序如下所示:
class Solution { public int search(int[] nums, int target) { int len = nums.length; int left = 0, right = len - 1; while (left <= right){ int mid = left + (right - left)/2; if (nums[mid] == target){ return mid; } if (nums[left] <= nums[mid]){ if (nums[mid] > target&&nums[left] <= target){ 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
- [LeetCode]33.Search in Rotated Sorted Array
- LeetCode --- 33. Search in Rotated Sorted Array
- LeetCode 33.Search in Rotated Sorted Array
- [Leetcode] 33. Search in Rotated Sorted Array
- 33.Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- Leetcode-33.Search in Rotated Sorted Array.
- [leetcode] 33. Search in Rotated Sorted Array
- Leetcode 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- pandas函数应用和映射
- fullpage全屏插件简介
- CSS3动画-扇形展开-(内有js代码)
- 报表版本的数据选择对应section的规则以及N函数的调试方法
- [BZOJ1977]严格次小生成树-kruskal+倍增维护
- 33. Search in Rotated Sorted Array
- 人生感悟:他们这样爬出烂泥般的人生
- 数字根
- jquery:AJAX 获取外部json
- RocketMQ源码解析-Producer启动
- Java static(三)
- 水仙花数
- 设计模式之状态模式
- jsp中获取根路径的方法