알고리즘/공식

이진 탐색

가든_ 2022. 9. 25. 00:53
public static int lowerBound(int left, int right, long target)
{
		while(left<right)
		{
			int mid = (left + right) / 2;
            
			if(target <= arr[mid])
			{
				right = mid;
			}
			else
			{
				left = mid +1;
			}
		}
		return left;
}
	
public static int upperBound(int left, int right, long target)
{
		while(left<right)
		{
			int mid = (left + right) / 2;
            
			if(target < arr[mid])
			{
				right = mid;
			}
			else
			{
				left = mid +1;
			}
	}
	return left;
}