zoukankan      html  css  js  c++  java
  • leetcode 33. Search in Rotated Sorted Array

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

    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;
        }
    
  • 相关阅读:
    Rotate List
    Spiral Matrix II
    Jump Game
    Maximum Subarray
    Pow(x, n)
    Anagrams
    Permutations
    unity 相机的问题
    NGUI 学习
    空间数据库1
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/12044004.html
Copyright © 2011-2022 走看看