(int[] arr, int num)
| 46 | // 保证arr有序,才能用这个方法 |
| 47 | // 有序数组中找>=num的最左位置 |
| 48 | public static int findLeft(int[] arr, int num) { |
| 49 | int l = 0, r = arr.length - 1, m = 0; |
| 50 | int ans = -1; |
| 51 | while (l <= r) { |
| 52 | // m = (l + r) / 2; |
| 53 | // m = l + (r - l) / 2; |
| 54 | m = l + ((r - l) >> 1); |
| 55 | if (arr[m] >= num) { |
| 56 | ans = m; |
| 57 | r = m - 1; |
| 58 | } else { |
| 59 | l = m + 1; |
| 60 | } |
| 61 | } |
| 62 | return ans; |
| 63 | } |
| 64 | |
| 65 | } |