LeetCode 34 在排序数组中查找元素的第一个和最后一个位置
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 34 在排序数组中查找元素的第一个和最后一个位置相关的知识,希望对你有一定的参考价值。
https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/
解决方案
class Solution
public int[] searchRange(int[] nums, int target)
int leftIdx = binarySearch(nums, target, 0, true);
return new int[]leftIdx, binarySearch(nums, target, leftIdx, false);
public int binarySearch(int[] nums, int target, int left, boolean lower)
if (left == -1)
return -1;
int ans = -1;
int right = nums.length - 1;
while (left <= right)
int mid = (left + right) / 2;
if (nums[mid] == target)
if (lower)
right = mid - 1;
else
left = mid + 1;
ans = mid;
else if (nums[mid] > target)
right = mid - 1;
else
left = mid + 1;
return ans;
以上是关于LeetCode 34 在排序数组中查找元素的第一个和最后一个位置的主要内容,如果未能解决你的问题,请参考以下文章
[leetcode] 34. 在排序数组中查找元素的第一个和最后一个位置(Java)
算法leetcode|34. 在排序数组中查找元素的第一个和最后一个位置(rust重拳出击)
[LeetCode]34. 在排序数组中查找元素的第一个和最后一个位置(二分)
leetcode-34在排序数组中查找元素的第一个和最后一个位置