zoukankan      html  css  js  c++  java
  • 循环有序的数组进行二分查找

    /**
     * 循环有序的数组进行二分查找
     * @param A
     */
    public static int find(int[] A, int n, int target){
        if(n<=0)
            return -1;
        int left = 0, right = n-1;
        while(left<=right)
        {
            int mid = left + ((right-left)/2);
            if(A[mid] == target){
                return mid;
            }
            //转折点在中间点的右半边
            if(A[left] <= A[mid])
            {
                if(A[left] <= target && target < A[mid]){
                    right = mid - 1;
                } else {
                    left = mid + 1;
                }
            }
            else //转折点在中间点左半边
            {
                if(A[mid] < target && target <= A[right]){
                    left = mid + 1;
                } else {
                    right = mid - 1;
                }
            }
        }
        return -1;
    }
     public static int find(int nums[], int n, int tag) {
            if (n <= 0) {
                return -1;
            }
            int left = 0;
            int right = n - 1;
            int mid = left + ((right - left) / 2);
            for (; left <= right; ) {
                if (nums[mid] == tag) {
                    return mid;//输出索引
                }
                //右侧
                if (nums[left] <= nums[mid]) {
                    if (nums[left] <= tag && tag < nums[mid]) {
                        right = mid - 1;
                    } else {
                        left = mid + 1;
                    }
                } else {//左侧
                    if (nums[right] >= tag && tag > nums[mid]) {
                        left = mid + 1;
                    } else {
                        right = mid - 1;
                    }
                }
            }
            return -1;
        }
  • 相关阅读:
    node项目发布pm2
    图片地址获取图片信息
    前端文件上传 获取文件大小 获取图片宽高
    前端上传图片预览
    vue按钮防暴力点击
    小程序父子组件之间的通信
    form表单
    es6-函数的扩展
    php的魔术常量以及类的模式方法
    OpenStack笔记
  • 原文地址:https://www.cnblogs.com/zzq-include/p/13483062.html
Copyright © 2011-2022 走看看