1.查找大于等于x的第一个数模板
// 查找大于等于x的第一个数模板
public static void main(String[] args)
{
int[] arr= {1,2,3,4,5};
int l=0,r=arr.length-1;
int x=2;
while(l<r)
{
int mid=(l+r)/2;
if(arr[mid]>=x)r=mid;
else
l=mid+1;
}
System.out.print(l);
}
1
2. 查找小于等于x的最后一个数模板
//查找小于等于x的最后一个数模板
public static void main(String[] args)
{
int[] arr= {1,2,3,4,5};
int l=0,r=arr.length-1;
int x=2;
while(l<r)
{
int mid=(l+r+1)/2;
if(arr[mid]>x)r=mid-1;
else
l=mid;
}
System.out.print(l);
}
1