• Binary Search


    Binary Search 模版

    四种结构

        public static int BinarySearch(int[] array, int target){
            int left = 0;
            int right = array.length - 1;
            int mid = left + (right - left) / 2;
            while(left <= right){
                mid = left + (right - left) / 2;
                if(array[mid] > target){
                    right = mid - 1;
                } 
                else
                    left = mid + 1;
            }
            return right;
        } // rightyes + noleft
        
        
        public static int BinarySearchLeft(int[] array, int target){
            int left = 0;
            int right = array.length - 1;
            int mid = left + (right - left) / 2;
            while(left <= right){
                mid = left + (right - left) / 2;
                if(array[mid] < target){
                    left = mid + 1;
                } 
                else
                    right = mid - 1;
            }
            return left;
        } //leftyes rightNo
        
        //    recursive
        public static int RecursiveBinarySearchLeft(int[] array, int target, int left, int right){
            if(left > right){
                return left;
            }
            int mid = (left +  right) / 2;
            if(target > array[mid])
                return RecursiveBinarySearchLeft(array, target, mid + 1, right);
            else
                return  RecursiveBinarySearchLeft(array, target, left, mid - 1);
        }
        
        public static int RecursiveBinarySearchRight(int[] array, int target, int left, int right){
            if(left >= right){
                return right;
            }
            int mid = (left +  right) / 2;
            if(target < array[mid])
                return  RecursiveBinarySearchLeft(array, target, left, mid - 1);
            else
                return RecursiveBinarySearchLeft(array, target, mid + 1, right);
                
        }
  • 相关阅读:
    子库存安全性控制
    检查装配件属性
    检查加工费是否有父件
    检查委外货位
    只允许操作外协任务
    检查是否存在工艺路线
    不能取组织ID
    加宽任务号宽度
    采购订单供应商地点必输
    只显示标准采购订单
  • 原文地址:https://www.cnblogs.com/joannacode/p/5926803.html
Copyright © 2020-2023  润新知