正文

  中午闲着有点时间,做个demo睡觉去,这个例子网上应该都有,自己只是敲一下给自己做个记录。

  

  public static void main(String[] args) {
    int[] whitelist = new int[]{12,13,34,56,78,88,99,100};
    Arrays.sort(whitelist);
    Scanner sc = new Scanner(System.in);
    boolean go=true;
    while(true)
    {
      System.out.println("请输入要查找的数");
      int nextInt = sc.nextInt();
      sc.nextLine();
      int result = rank(nextInt,whitelist);
      if(result!=-1)
      {
        System.out.println("找到的数字位置为:"+result);
        go=false;
      }
      else
      {
        System.out.println("没有找到输入的数字位置");
      }
      }
      }
      public static int rank(int key, int[] a) {
        // 数组必须是有序的
        int lo = 0;
        int hi = a.length - 1;
        while (lo <= hi) {
        // 被查找的键要么不存在,要么必然存在于a[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;
  }

最新文章

  1. silverlight中 Storyboard(动画)的使用,实现球的上下循环移动,左右移动,及旋转功能
  2. WORD自定义宏
  3. HDU 4342History repeat itself 数学
  4. RPC介绍
  5. 基于jQuery查找dom的多种方式性能问题
  6. 把centos 网卡接口eth2改成eth0
  7. oracle解析xml完成版
  8. POJ 3177 Redundant Paths - from lanshui_Yang
  9. 将 Eclipse 的配色改为黑底白字
  10. 使用CSS3动画实现绚丽的照片墙效果
  11. 正则表达式——Java程序员懂你
  12. R语言︱R社区的简单解析(CRAN、CRAN Task View)
  13. 云计算 IaaS,SaaS,PaaS的区别?一个通俗易懂的吃货文章
  14. Extensions in UWP Community Toolkit - WebViewExtensions
  15. 一步一步理解 python web 框架,才不会从入门到放弃
  16. Springboot使用alibaba的fastJson,@JSONField不起作用的问题
  17. 前端开发JS白板编程题目若干
  18. BZOJ.2655.calc(DP/容斥 拉格朗日插值)
  19. node.js中express框架的基本使用
  20. git批量删除文件和批量提交

热门文章

  1. 关于自己配置有关webpack.config.js和vue项目搭建相关步骤
  2. .net core 基于AspNetCore.Identity+Identityserver4用户的权限管理
  3. Rocket - tilelink - RAMModel
  4. js 识别二维码
  5. Java实现 蓝桥杯VIP 算法训练 统计单词个数
  6. jmeter 性能测试入门手册分享
  7. POJ - 2184 Cow Exhibition 题解
  8. AntD框架的upload组件上传图片时使用customRequest方法自定义上传行为
  9. jQuery实现打飞机游戏
  10. node实现文件属性批量修改(时间属性)