# Find First and Last Position of Element in Sorted Array Leetcode Solution In this post, you will know how 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. Find First and Last Position of Element in Sorted Array Leetcode Solutions

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Leetcode by yourself. If you find any difficulty after trying several times, then you can look for solutions.

## Problem

Given an array of integers `nums` sorted in non-decreasing 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`

### Find First and Last Position of Element in Sorted Array Leetcode Solutions 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 Solutionsin 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 Solutions 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 BrokenProgrammers. This tutorial is only for Educational and Learning purposes.