算法1.1节22

来源:互联网 发布:kettle数据库增量同步 编辑:程序博客网 时间:2024/06/05 15:10

22.

import java.util.Arrays; class Ex_1_1_22{    public static int rank(int key,int[] a)    {        int lo=0;        int hi=a.length-1;        int indent=0;        while(lo<=hi)        {            StdOut.printf(repeat(4*indent++,' '),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;    }    public static String repeat(int n,char c)    {        String s="";        for(int i=0;i<n;i++)        {            s+=c;        }         return s;    }    public static void main(String[] args)    {        int[] whitelist={1,2,3,4,5,6,7,8,9};        Arrays.sort(whitelist);        while(!StdIn.isEmpty())        {            int key=StdIn.readInt();            if(rank(key,whitelist)==-1)                StdOut.println(key);        }    }}
0 0
原创粉丝点击