zoukankan      html  css  js  c++  java
  • 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);
                
        }
  • 相关阅读:
    SparkSQL访问Hive源,MySQL源
    SparkStreaming算子操作,Output操作
    JVM 配置常用参数和常用 GC 调优策略
    SparkStreaming与Kafka,SparkStreaming接收Kafka数据的两种方式
    consul service
    Centos7 vnc
    Centos7 創建快捷方式
    Consul Session
    python consul
    python 形参
  • 原文地址:https://www.cnblogs.com/joannacode/p/5926803.html
Copyright © 2011-2022 走看看