Computer Science, asked by blackjesus, 1 month ago

Given a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

Example 1:

Input: nums = [1,3,5,6], target = 5
Output: 2
Example 2:

Input: nums = [1,3,5,6], target = 2
Output: 1
Example 3:

Input: nums = [1,3,5,6], target = 7
Output: 4
Example 4:

Input: nums = [1,3,5,6], target = 0
Output: 0
Example 5:

Input: nums = [1], target = 0
Output: 0


Constraints:

1 <= nums.length <= 10^4
-10^4 <= nums[i] <= 10^4
nums contains distinct values sorted in ascending order.
-10^4 <= target <= 10^4

Answers

Answered by rajathpai2000
4

Answer:

Solution 1:

return lower_bound(a.begin(), a.end(), t) - a.begin();

___________________________________________

Solution 2:

int low = 0, high = arr.size()-1;

       

       while(low <= high)

       {

           int mid = low + (high-low)/2;

           

           if(arr[mid] < target)

           {

               low = mid + 1;

           }

           else

           {

               high = mid-1;

           }

       }

     

       return low;

Explanation:

Similar questions