Leetcode102: Search in Rotated Sorted Array
来源:互联网 发布:亚马逊账号 阿里云 编辑:程序博客网 时间:2024/05/22 09:42
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.
如果中间元素大于首部元素,那么表明查找区间左半部分是有序的,然后再根据target是否在有序的一部分来决定接下来查找的方向
如果中间元素小于首部元素,那么查找区间有半部分是有序的,然后再根据target是否在有序的一部分来决定接下来查找的方向
class Solution {public: int search(vector<int>& nums, int target) { int n = nums.size(); if(n==0) return -1; int l = 0; int r = n-1; while(l<=r) { int mid = (l+r)/2; if(nums[mid] == target) return mid; if(nums[l] <= nums[mid]) { if(nums[l]<=target && target<nums[mid]) r = mid-1; else l = mid+1; } else { if(nums[mid]<target && target<=nums[r]) l = mid+1; else r = mid-1; } } return -1; }};
0 0
- Leetcode102: 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
- 把学生类里加入扩展功能,抽烟,学会的课程(接口)
- 复合运算符
- iOS之C语言初学小结
- 线性表---单链表(创建、找中间节点、删除头元素)
- 黑马程序员——高新技术--枚举
- Leetcode102: Search in Rotated Sorted Array
- <LeetCode><Easy> 100 Same Tree
- Xcode快捷键
- 配置laravel遇到的问题
- [Albert的专栏]★★objective-c面向对象之——类的继承
- 【经典面试题】栈的压入弹出序列
- Common Subsequence(最长公共子序列+动态规划)hdu1159 经典
- Android编码解码及其原理
- 小错误