Find Transition Point Java
- Get link
- X
- Other Apps
PROGRAM TO FIND THE TRANSITION POINT IN A GIVEN SORTED BINARY ARRAY
class Test { // Method to find the transition point static int findTransitionPoint(int arr[], int n) { // Initialise lower and upper bounnds int lb = 0, ub = n - 1; // Perform Binary search while (lb <= ub) { // Find mid int mid = (lb + ub) / 2; // update lower_bound if mid contains 0 if (arr[mid] == 0) lb = mid + 1; // If mid contains 1 else if (arr[mid] == 1) { // Check if it is the left most 1 // Return mid, if yes if (mid == 0 || (mid > 0 && arr[mid - 1] == 0)) return mid; // Else update upper_bound ub = mid - 1; } } return -1; } // Driver method public static void main(String args[]) { int arr[] = { 0, 0, 0, 0, 1, 1 }; int point = findTransitionPoint(arr, arr.length); System.out.println( point >= 0 ? "Transition point is " + point : "There is no transition point"); }}OUTPUT
Transition point is 4
- Get link
- X
- Other Apps
Comments
Post a Comment