<object id="getjk"></object>
<object id="getjk"></object>
    1. <object id="getjk"></object>
    2. <th id="getjk"></th>
      XYcooper
      • 性别: Icon_minigender_1
      • 利发国际娱乐城2

      ▯□☐Lintcode63 Search in Rotated Sorted Array II solutio

       

      阅读更多
      □☐◘◊◘▪▫▯□☐◘◊◘▪▫▯□☐◘◊◘▪▫▯□☐◘◊◘▪▫▯□☐◘◊◘▪▫▯□☐◘◊◘▪▫▯□
      【题目描述】

      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/




      (责任编辑:XYcooper)
      分享到: