首页 > 其他 > 详细

[LeetCode]--Search in Rotated Sorted Array

时间:2014-01-25 09:22:07      阅读:362      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
public class Solution {
    public int search(int[] A, int target) {
      int len = A.length;
          
          // binary search
          int l = 0;
          int r = len -1;
          
          while(l <= r){
              int m = (l+r)/2;
              if(target == A[m]){
                  return m;
              }
              
              if(A[m] >= A[l]){ // lower is sorted ** do not forget "="
                  if(target >= A[l] && target < A[m]){  // 注意这边的等号 左边要包含等号
                      r = m-1;
                  }else{
                      l = m+1;
                  }
              } else { // higher is sorted
                  if(target > A[m] && target <= A[r]){ // 注意这边的等号 右边要包含等号
                      l = m+1;
                  }else {
                      r = m-1;
                  }
              }
          }
          return -1;
    }
}
bubuko.com,布布扣

[LeetCode]--Search in Rotated Sorted Array

原文:http://www.cnblogs.com/RazerLu/p/3532602.html

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