# Search Insert Position Leetcode Solution

In this post, we are going to solve the Search Insert Position Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

## Problem

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.

You must write an algorithm with `O(log n)` runtime complexity.

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
```

Constraints:

• `1 <= nums.length <= 104`
• `-104 <= nums[i] <= 104`
• `nums` contains distinct values sorted in ascending order.
• `-104 <= target <= 104`

Now, lets see the leetcode solution of Search Insert Position Leetcode Solution.

### Search Insert Position Leetcode Solution in Python

```class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
l = 0
r = len(nums)

while l < r:
m = (l + r) // 2
if nums[m] == target:
return m
if nums[m] < target:
l = m + 1
else:
r = m

return l
```

### Search Insert PositionLeetcode Solutionin CPP

```class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int l = 0;
int r = nums.size();

while (l < r) {
const int m = (l + r) / 2;
if (nums[m] == target)
return m;
if (nums[m] < target)
l = m + 1;
else
r = m;
}

return l;
}
};
```

### Search Insert Position Leetcode Solution in Java

```class Solution {
public int searchInsert(int[] nums, int target) {
int l = 0;
int r = nums.length;

while (l < r) {
final int m = (l + r) / 2;
if (nums[m] == target)
return m;
if (nums[m] < target)
l = m + 1;
else
r = m;
}

return l;
}
}
```

Note: This problem Search Insert Position is generated by Leetcode but the solution is provided by Chase2learn This tutorial is only for Educational and Learning purposes.

Sharing Is Caring