Last Position of Target(Ladder)
Description
Find the last position of a target number in a sorted array. Return -1 if target does not exist.
Example:
Given [1, 2, 2, 4, 5, 5].
For target = 2, return 2.
For target = 5, return 5.
For target = 6, return -1.
Link
Method
- Binary Search
- x
Example
- 1
class Solution { public: /** * @param A an integer array sorted in ascending order * @param target an integer * @return an integer */ int lastPosition(vector<int>& nums, int target) { // Write your code here if (nums.empty()) { return -1; } int start = 0; int end = nums.size()-1; while (start+1 < end) { int mid = start + (end-start)/2; if (target >= nums[mid]) { start = mid; } else { end = mid; } } if (target == nums[end]) { return end; } if (target == nums[start]) { return start; } return -1; } };
Similar problems
x
Tags
x