algs4_BinarySearch
2018-01-11 16:45
155 查看
import java.util.Arrays; import edu.princeton.cs.algs4.In; import edu.princeton.cs.algs4.StdOut; import edu.princeton.cs.algs4.StdIn; 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[] whitelist = In.readInts(args[0]); // Arrays.sort(whitelist); // for(int element : whitelist) // StdOut.printf("== tinyW is %d\n", element); while(!StdIn.isEmpty()) { int key = StdIn.readInt(); // StdOut.printf("** tintT is %d\n", key); if(rank(key, whitelist) == -1) StdOut.println(key); } } }
相关文章推荐
- ALGS4_5.2 Tries
- 典型的数组处理代码(algs4)
- 算术表达式补全右括号(algs4)
- algs4-SocialNetworkConnUF
- Algs4-1.4.18 Find local minimum in n x n matrix in O(n) time
- [算法] 关于algs4 MSD.java 高位优先的字符串排序 的逐行代码解释
- 典型静态方法的实现(algs4)
- 1.3.10将算术表达式由中序表达式转为后序表达式(algs4)
- algs4 union-find算法的实现
- Algs4-1.4.22斐波那契查找算法(Fibonacci Search)Java 实现
- 典型的字符串处理代码(algs4)
- 算法分析(algs4)
- 封装日期数据类型的两种实现(algs4)
- 3-sum问题平方对数级别解法(algs4)
- 重写toString()和equals()方法(algs4)
- 初级排序算法(algs4)
- 算法第四版 在Eclipse中调用Algs4库
- 回环变位(algs4)
- 归并排序(algs4)
- Dijkstra的双栈算术表达式(未省略括号)求值算法(algs4)