zoukankan      html  css  js  c++  java
  • 搜索旋转有序数组

    class Solution {
    public:
        int search(vector<int>& nums, int target) {
            if(nums.size()==0) return -1;
    
            int left=0,right=nums.size()-1;
            while(left+1<right){
                int mid=left+((right-left)>>1);
    
                if(nums[mid]==target) return mid;
    
                if(nums[mid]<nums[right]){
                    if(nums[mid]<=target && target<=nums[right]){
                        left=mid;
                    }
                    else{
                        right=mid;
                    }
                }
                else if(nums[mid]>nums[right]){
                    if(nums[left]<=target && target<=nums[mid]){
                        right=mid;
                    }
                    else{
                        left=mid;
                    }
                }
                else{
                    right-=1;
                }
            }
            if(nums[left]==target) return left;
            else if(nums[right]==target) return right;
            else return -1;
        }
    };
  • 相关阅读:
    3.22
    练习 3.16
    简单工厂模式
    Java-不可变字符串
    java中的缓冲流
    TCP协议下java通信
    nginx优化
    nginx反向代理
    shell-for循环
    shell-数组
  • 原文地址:https://www.cnblogs.com/zijidan/p/12435949.html
Copyright © 2011-2022 走看看