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);
                
        }
  • 相关阅读:
    看到关于java资料比较全的,自己收藏
    ie6下pnghack——css方案
    git基本操作
    购物车功能实现
    jquery学习:获取位置position(),offset(),scrollTop困惑
    Datax3.0使用说明
    Scala字符串操作
    Scala中class、object、case class、case object区别
    Scala构造函数
    scala数组操作
  • 原文地址:https://www.cnblogs.com/joannacode/p/5926803.html
Copyright © 2011-2022 走看看