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);
                
        }
  • 相关阅读:
    《SmartJs系列》屌丝逆袭,华丽转身,解读自定义ScrollBar(一)
    IE6/IE7下,li设置float后,行高变高问题__UL的padding-top Bug
    团队作业
    团队作业
    结对作业
    个人作业
    心得
    css3的自定义字体
    javascript中的call方法
    javascript对象访问
  • 原文地址:https://www.cnblogs.com/joannacode/p/5926803.html
Copyright © 2011-2022 走看看