34. Find First and Last Position of Element in Sorted Array
Medium
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:
Example 2:
Example 3:
Constraints:
0 <= nums.length <= 105
-109 <= nums[i] <= 109
nums
is a non-decreasing array.-109 <= target <= 109
解題
一開始很簡單地把target出現的index都存進bucket裡面,然後回傳頭尾。這樣的話時間複雜度為O(n)
再仔細看一次題目,給的是已經排序好的陣列,如果使用 binary search 的方法搜尋,應該可以將時間複雜度下降到 O(logn)
Last updated