# Find First and Last Position of Element in Sorted Array Leetcode Solution

In this post, we are going to solve the Find First and Last Position of Element in Sorted Array Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

## Problem

Given an array of integers `nums` sorted in nondecreasing order, find the starting and ending position of a given `target` value.

If `target` is not found in the array, return `[-1, -1]`.

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

Example 1:

```Input: nums = [5,7,7,8,8,10], target = 8
Output: [3,4]
```

Example 2:

```Input: nums = [5,7,7,8,8,10], target = 6
Output: [-1,-1]
```

Example 3:

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

Constraints:

• `0 <= nums.length <= 105`
• `-109 <= nums[i] <= 109`
• `nums` is a non-decreasing array.
• `-109 <= target <= 109`

Now, lets see the leetcode solution of Find First and Last Position of Element in Sorted Array Leetcode Solution.

### Find First and Last Position of Element in Sorted Array Leetcode Solution in Python

```class Solution:
def searchRange(self, nums: List[int], target: int) -> List[int]:
l = bisect_left(nums, target)
if l == len(nums) or nums[l] != target:
return -1, -1
r = bisect_right(nums, target) - 1
return l, r
```

### Find First and Last Position of Element in Sorted ArrayLeetcode Solutionin CPP

```class Solution {
public:
vector<int> searchRange(vector<int>& nums, int target) {
const int l = lower_bound(begin(nums), end(nums), target) - begin(nums);
if (l == nums.size() || nums[l] != target)
return {-1, -1};
const int r = upper_bound(begin(nums), end(nums), target) - begin(nums) - 1;
return {l, r};
}
};
```

### Find First and Last Position of Element in Sorted Array Leetcode Solution in Java

```class Solution {
public int[] searchRange(int[] nums, int target) {
final int l = firstGreaterEqual(nums, target);
if (l == nums.length || nums[l] != target)
return new int[] {-1, -1};
final int r = firstGreaterEqual(nums, target + 1) - 1;
return new int[] {l, r};
}

// Finds the first index l s.t A[l] >= target
// Returns A.length if can't find
private int firstGreaterEqual(int[] A, int target) {
int l = 0;
int r = A.length;
while (l < r) {
final int m = (l + r) / 2;
if (A[m] >= target)
r = m;
else
l = m + 1;
}
return l;
}
}
```

Note: This problem Find First and Last Position of Element in Sorted Array is generated by Leetcode but the solution is provided by Chase2learn This tutorial is only for Educational and Learning purposes.

Sharing Is Caring