算法1.1.23

来源:互联网 发布:java 轻量ioc 编辑:程序博客网 时间:2024/05/16 10:20

BinarySearch 

的测试用例添加一个参数:

打印出标准输入中不在白名单上

的值;

-

,则打印出标准输入中在白名单上的值。

为BinarySearch的测试用例添加一个参数:+打印出标准输入中不在白名单上的值;-,则打印标准输入中在白名单上的值。

public static int rank(int key, int[] a,char c) {        

int lo = 0; 
    int hi = a.length - 1;         
    if(c=='+')         
    {          
    while (lo <= hi) 
    {              
            int mid = lo + (hi - lo) / 2;                     
            if      (key < a[mid]) hi = mid - 1;             
            else if (key > a[mid]) lo = mid + 1;
            else return -1;
    }
    return -1;
    }
    if(c=='-')
    {
    while (lo <= hi) 
    {              
            int mid = lo + (hi - lo) / 2;              
            if      (key < a[mid]) hi = mid - 1;             
            else if (key > a[mid]) lo = mid + 1;
            else return mid;
    }
    return -1;
    }

   }

二分查找前提是数组要有序,Array.sort()。

BinarySearch 

的测试用例添加一个参数:

打印出标准输入中不在白名单上

的值;

-

,则打印出标准输入中在白名单上的值。