Paths Subjects Questions Quizzes Pricing Search
Intermediate Open Pro

First and Last Occurrences of a Number

Given an array nums sorted in non-decreasing order that may contain duplicate values, and an integer target, return the indices of the first and last occurrence of target in nums as a two-element list [first, last]. If target does not appear in nums, return [-1, -1].

Your solution must run in O(log n) time.

Example 1

Input: nums = [5, 7, 7, 8, 8, 8, 10], target = 8
Output: [3, 5]
Explanation: 8 first appears at index 3 and last appears at index 5.

Example 2

Input: nums = [5, 7, 7, 8, 8, 8, 10], target = 6
Output: [-1, -1]
Explanation: 6 does not appear in nums.

Constraints

  • 0 <= nums.length <= 10^5
  • -10^9 <= nums[i] <= 10^9
  • nums is sorted in non-decreasing order.
  • -10^9 <= target <= 10^9

Share this question

← Back to Binary Search practice

We use cookies for product analytics to improve OmniAtlas. See our Privacy Policy.