首页 > 其他 > 详细

leetcode 33. Search in Rotated Sorted Array

时间:2019-12-15 14:53:16      阅读:100      评论:0      收藏:0      [点我收藏+]

理解数组长成什么样是非常重要

function search(nums, target) {
      var left = 0, right = nums.length - 1;
      while (left <= right) {
        var mid = left + ((right - left) >> 1);
        if (nums[mid] == target) {
          return mid;
        } else if (nums[mid] < nums[right]) {
          // [ 1, 2, 3 4, 5,6,7,8], target = 5, mid = 4
          // target在 5~8找
          if (nums[mid] < target && nums[right] >= target) {
            left =  mid + 1;
          } else { // target = 2, mid = 4
            right = mid - 1;
          }
        } else {//[6 7 8 9 10 11 0,1,2,3  ],  target = 7, mid = 11
          if (nums[left] <= target && nums[mid] > target) {
            right = mid - 1;
          } else {//target = 2, mid = 11
            left = mid + 1;
          }
        }
      }
      return -1;
    }

leetcode 33. Search in Rotated Sorted Array

原文:https://www.cnblogs.com/rubylouvre/p/12044004.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!