34_Find First and Last Position of Element in Sorted Array

[Medium][Tag: array, binary search]

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

Your algorithm's runtime complexity must be in the order of O(log n).

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

Example 1

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

Idea:

Do two binary search to find the starting position and the ending position.

  • starting position

    • if middle position meets the target, the right part of array will be throw away.

  • ending position

    • if middle position meets the target, the left part of array will be throw away.

Time Complexity:O(logn)O(logn)

Space Complexity:O(1)O(1)

Last updated

Was this helpful?