zoukankan      html  css  js  c++  java
  • Algs4-1.4.21无重复值之中的二分查找

    1.4.21无重复值之中的二分查找。用二分查找实现StaticSETofInts(请见表1.2.15),保证contains()的运行时间为~lgR,其中R为参数数组中不同整数的数量。
    答:感觉到不到点。
    import java.util.Arrays;
    public class E1d4d21
    {
      private int[] a;
      public E1d4d21(int[] keys)
      {
        a=new int[keys.length];
        for (int i=0;i<keys.length;i++)
          a[i]=keys[i];
        Arrays.sort(a);
      }
      //
      public boolean contains(int key)
      {
            int lo=0;
            int hi=a.length-1;
            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 true;
             }
            return false;
      }
     
      public static void main(String[] args)
      {
        int[] w=In.readInts(args[0]);
        int key=Integer.parseInt(args[1]);
        E1d4d21 set=new E1d4d21(w);
        StdOut.printf("contains key:%d is %s",key,set.contains(key));
      }
    }

  • 相关阅读:
    MySQL第七课
    MySQL第六课
    mysql第五课
    MySQL第四课
    MySQL第三课
    MYSQL第一课
    MYSQL第二课
    char、vchar、nvarchar 的区别
    SSRS Reporting Service安装与部署
    存储过程用法
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854453.html
Copyright © 2011-2022 走看看