通用二分模板:int left = 0, rightn.size() - 1;while (left < right){int mid = left + (right - left) / 2;if (arr[mid] == target){return mid;}else if (arr[mid] < target){left = mid + 1;}else{right = mid;}}或者:int left = 0, rightn.size() - 1;while (left < right){int mid = left + (right - left + 1) / 2;if (arr[mid] == target){return mid;}else if (arr[mid] < target){left = mid;}else{right = mid - 1;}}