/** * 找到key在有序數組的位置,找到即返回 * @param a 有序數組 * @param key * @return */ public static int findPos(int[] a, int len, int key) { int left = 0; int right = len - 1; int mid; while (left <= right) { mid = (left + right) / 2; if (key < a[mid]) { right = mid - 1; } else if (a[mid] < key) { left = mid + 1; } else { return mid; } } return -1; }