查找
- 大于等于
- 大于
- 小于等于
- 小于
target值时的二分查找通用规律
核心思想: 要找某个值, 则查找时遇到该值时, 当前指针(例如right指针)要错过它, 让另外一个指针(left指针)跨过他(体现在left <= right中的=号), 则找到了
/*** 范围查询规律* 初始化:* int left = 0;* int right = nums.length - 1;* 循环条件* left <= right* 右边取值* right = mid - 1* 左边取值* left = mid + 1* 查询条件* >= target值, 则 nums[mid] >= target时, 都减right = mid - 1* > target值, 则 nums[mid] > target时, 都减right = mid - 1* <= target值, 则 nums[mid] <= target时, 都加left = mid + 1* < target值, 则 nums[mid] < target时, 都加left = mid + 1* 结果* 求大于(含等于), 返回left* 求小于(含等于), 返回right* 示例(求> 或 >=)* private int search(int[] nums, int target) {* int left = 0;* int right = nums.length - 1;* while (left <= right){* int mid = (right - left) / 2 + left;* if (nums[mid] 查询条件 target){* right = mid - 1;* } else {* left = mid + 1;* }* }* return left(根据查询条件确认);* }* 核心思想: 要找某个值, 则查找时遇到该值时, 当前指针(例如right指针)要错过它, 让另外一个指针(left指针)跨过他(体现在left <= right中的=号), 则找到了*/作者:chendragon链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/solution/er-fen-cha-zhao-tong-yong-gui-lu-gu-ding-g93u/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
