Thursday, 21 November 2024

Search Insert Position

 class Solution {

public:
    int searchInsert(vector<int>& nums, int target) {
        int high = nums.size();
        int low = 0;
        int mid = (low+high)/2;
        int prev_mid = mid;
        if(target < nums[low])
         return low;
        else if(target > nums[high-1])
         return high;
        while(low < high)
        {
            if(target == nums[mid] )
            {
                 return mid;
            }
            else if(target > nums[mid])
            {
                  low = mid;
                  mid= (low + high)/2;
            }
            else
            {
                high = mid;
                mid =  (low+high)/2;
            }
            if(prev_mid == mid)
            {
                break;
            }
            else {
                prev_mid = mid;
            }

        }

        return mid+1;
       
    }
};

No comments:

Post a Comment