美文网首页
Lintcode1 A+B Problem solution 题

Lintcode1 A+B Problem solution 题

作者: Krirs | 来源:发表于2017-05-07 20:45 被阅读0次

    【题目描述】

    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/

    相关文章

      网友评论

          本文标题:Lintcode1 A+B Problem solution 题

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