package HM_Algorim;
import java.lang.management.BufferPoolMXBean;
/**
* className:BinarySearch_Left_right_most
* Package:HM_Algorim
*
* @Author:swx
* @Create2023/5/3019:33
* @version:1.0
*/
public class BinarySearch_Left_right_most {
public static void main(String[] args) {
int[] nums = {2,4,5,8,8,8,8,9,11,13};
int target = 8;
System.out.println(BinarySearchLeft(nums, target));
System.out.println(BinarySearchRight(nums, target));
}
public static int BinarySearchLeft(int[] nums, int target){
int low = 0;
int high = nums.length;
while (low < high){
int mid = (high + low) >>> 1;
if (nums[mid]< target){
low = mid + 1;
}
else if(target <= nums[mid]) {
high = mid;
}
}
return high;
}
public static int BinarySearchRight(int[] nums, int target){
int low = 0;
int high = nums.length;
while (low < high){
int mid = (high + low) >>> 1;
if (nums[mid]<= target){
low = mid + 1;
}
else if(target < nums[mid]) {
high = mid;
}
}
return low;
}
}
二分查找-LeftRightSearch
于 2023-05-30 20:04:48 首次发布