Leetcode在线编程search-in-rotated-sorted-array
来源:互联网 发布:阿里云服务器个人备案 编辑:程序博客网 时间:2024/06/05 15:19
Leetcode在线编程 search-in-rotated-sorted-array
题目链接
search-in-rotated-sorted-array
题目描述
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e.,0 1 2 4 5 6 7might 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.给定已知升序序列,按序列中的某个位置,进行左右交换
2.在新序列中找出指定的 数字
解题思路
顺序排列的数列,优先考虑二分查找,难点在于怎么确定二分序列的左右端点,设序列A,并且长度为n,有以下几种情况
1.如果A[mid] == target~~~~2.如果A[left] <= A[mid]
(1)我们可以确定left到mid有序(升序)
(2)如果target < A[mid] (即在left,mid区间)我们就可以直接二分
(3)不在该区间的话,则把左端点移到mid+1,重新以上操作即可3.如果A[left] > A[mid]
(1)我们可以确定mid到right有序(升序)
(2)如果target > A[mid] (即在mid,right区间)我们就可以直接二分
(3)不在该区间的话,则把右端点移到mid,重新以上操作即可
AC代码
class Solution {public: int search(int A[], int n, int target) { int l = 0 , r = n; while(l < r) { int mid =(l+r)/2; if(A[mid] == target) return mid; if(A[l] <= A[mid]) { if(A[mid] > target && target >= A[l]) r = mid; else l = mid+1; } else { if(A[mid] < target && target <= A[r-1]) l = mid+1; else r = mid; } } return -1; }};
0 0
- Leetcode在线编程search-in-rotated-sorted-array
- [leetcode][search] Search in Rotated Sorted Array
- LeetCode: Search in Rotated Sorted Array
- LeetCode: Search in Rotated Sorted Array II
- LeetCode Search in Rotated Sorted Array
- LeetCode Search in Rotated Sorted Array II
- [Leetcode] Search in Rotated Sorted Array
- LeetCode : Search in Rotated Sorted Array
- LeetCode : Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array
- [Leetcode] Search in a Rotated Sorted Array
- [Leetcode] Search in Rotated Sorted Array II
- leetcode 97: Search in Rotated Sorted Array
- [LeetCode] Search in Rotated Sorted Array
- [leetcode] Search in Rotated Sorted Array
- [leetcode] Search in Rotated Sorted Array II
- Leetcode Search in Rotated Sorted Array
- 给VirtualBox上的Ubuntu虚拟机扩展硬盘空间
- memcached在CentOS下的安装和启动
- Android中bindService的细节之四:bindService时,你所忽略的代码流程细节
- 归并排序
- 关于api-ms-win-crt-runtime-l1-1-0.dll问题
- Leetcode在线编程search-in-rotated-sorted-array
- jsp表单中上传文件 enctype="multipart/form-data"解释
- 3.Python的常量自定义与变量
- Light OJ 1025 The Specials Menu 详细题解(回文串的区间DP)
- gitlab服务器搭建教程
- 【算法】滑动窗方法问题总结
- [Leetcode] 70. Climbing Stairs 解题报告
- PHP弱类型导致的安全问题--md5
- Android studio jni 生成 头文件