BinarySearch
2015-10-22 15:18
281 查看
二分法
public class BinarySearch { public static int rank(int key,int[] a){ 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 mid; } return -1; } public static void main(String[] args) { int[] whilelist = In.readInts(args[0]); Arrays.sort(whilelist); while(!StdIn.isEmpty()){ int key = StdIn.readInt(); if(rank(key,whilelist)<0){ StdOut.println(key); } } } }
相关文章推荐
- 【OpenCV】SIFT原理与源码分析:DoG尺度空间构造
- dom理解!
- 键盘弹出,视图向上移,键盘高度遮住UITextField的解决方法
- 【扣丁学堂】互连世界的神经中心-智能手机
- Android之monkey Test,Monkey测试中的黑名单和白名单,Monkey测试中的黑名单和白名单
- 如何在eclipse jee中创建Maven project并且转换为Dynamic web project
- C++STL之queue队列容器
- 用Polygon Offset解决z-fighting和stitching问题
- PHP编程效率的20个要点
- 在美国看中国HTML5市场的发展
- Android Butterknife框架基本使用教程
- Service之跨进程调用服务ADIL详解(一)
- 微信授权登录第三方app遇到的问题
- android控件的对齐方式,控件布局(顶部、底部)留着自用~~~
- 红米Note调用系统相机拍照后应用崩溃问题分析解决
- 关于gitignore文件,Myeclipse和IDEA的编译输出文件的问题
- 简单理解socket
- Zookeeper-Zookeeper leader选举
- Jsp内置对象
- 联合查询Union