美文网首页Lintcode
Lintcode63 Search in Rotated Sor

Lintcode63 Search in Rotated Sor

作者: 代码码着玩 | 来源:发表于2017-05-04 15:04 被阅读18次

【题目描述】

Follow up for Search in Rotated Sorted Array:What if duplicates are allowed?Would this affect the run-time complexity? How and why?Write a function to determine if a given target is in the array.

跟进“搜索旋转排序数组”,假如有重复元素又将如何?是否会影响运行时间复杂度?如何影响?为何会影响?写出一个函数判断给定的目标值是否出现在数组中。

【题目链接】

www.lintcode.com/en/problem/search-in-rotated-sorted-array-ii/

【题目解析】

和这题的第一版本类似,只是可能出现重复数字,而有了重复数字会使问题变得非常复杂。

例如对于数组 1 2 2 2 2 2 3,对第1个2进行翻转后,会得到2 2 2 2 3 1 2,这个数组首尾下标为0和6,得到中间位置的下标为3,于是首尾和中间位置的元素都相同,我们无法判断索要找的数字是在前半段还是在后半段,这种情况下,只能够从头开始以O(n)时间进行一次搜索。

如果不是以上的情况,还是可以按照第一版本的思路进行二分查找。

【参考答案】

www.jiuzhang.com/solutions/search-in-rotated-sorted-array-ii/

相关文章

网友评论

    本文标题:Lintcode63 Search in Rotated Sor

    本文链接:https://www.haomeiwen.com/subject/oatjottx.html