Ceiling of a number

PHOTO EMBED

Thu Jul 18 2024 08:03:05 GMT+0000 (Coordinated Universal Time)

Saved by @Mohanish

public class Problem1 {
    //Celing of a number:

        public static void main(String[] args) {
            int[] arr={2,3,5,9,14,16,18};
            int ans=binarySearch(arr,15  );
            System.out.println(ans);

        }

        //return The index
        //return -1 it doesnot exist
        static int binarySearch(int[] arr,int target){
            int start=0;
            int end=arr.length-1;

            while(start<=end){
//    int mid=(start+end)/2; might be possible that start + end exceeds the range of int
                int mid=start+(end-start)/2;
                if(arr[mid]>target){
                    end=mid-1;
                }
                if(arr[mid]<target){
                    start=mid+1;
                }
                if(arr[mid]==target){
                    //ans found
                    return mid;
                }
            }
            return end;
        }

    }


content_copyCOPY