zoukankan      html  css  js  c++  java
  • Algs4-1.4.11为StaticSETofInts添加一个实列方法howMany()

    1.4.11为StaticSETofInts添加一个实列方法howMany()(请见表1.2.15),找出给定键的出现次数且在最坏情况下所需的运行时间应该和logN成正比。
    答:
    图片
    import java.util.Arrays;
    public class StaticSETofInts
    {
      private int[] a;
      public StaticSETofInts(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)
      {return BinarySearch.rank(key,a)!=-1;}
     
      public int howMany(int key)
      {
          int maxIndex=BinarySearch.rankMax(key,a);
          if (maxIndex==-1)
              return 0;
          else
              return 1+maxIndex-BinarySearch.rankMin(key,a);
      }
     
        
      public static void main(String[] args)
      {
        int[] w=In.readInts(args[0]);
        int key=Integer.parseInt(args[1]);
        StaticSETofInts set=new StaticSETofInts(w);
        StdOut.printf("contains key:%d  %d pieces",key,set.howMany(key));
      }
    }
  • 相关阅读:
    MySQL初始化以及更改密码
    对付小白的ARP的简单介绍
    PXE批量安装CentOS7操作系统
    20不惑
    辩论会
    学习
    JAVA语言的特点
    程序流程图对新手来说很重要。
    浅谈博客、微博与轻博客的区别与联系
    要学好JAVA要注意些什么?
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854414.html
Copyright © 2011-2022 走看看