【力扣】34. 在排序数组中查找元素的第一个和最后一个位置
发布日期:2021-06-29 19:46:56 浏览次数:2 分类:技术文章

本文共 802 字,大约阅读时间需要 2 分钟。

题目:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值 target,返回 [-1, -1]。

进阶:

你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?

示例 1:

输入:nums = [5,7,7,8,8,10], target = 8

输出:[3,4]

示例 2:

输入:nums = [5,7,7,8,8,10], target = 6

输出:[-1,-1]

示例 3:

输入:nums = [], target = 0

输出:[-1,-1]

提示:

0 <= nums.length <= 10^5

-10^9 <= nums[i] <= 10^9 nums 是一个非递减数组
-10^9 <= target <= 10^9

答案:

class Solution {
public int[] searchRange(int[] nums, int target) {
//遍历 int[] num = new int[]{
-1, -1}; for(int i = 0; i < nums.length; i++){
if(nums[i] > target) break; if(nums[i] == target){
if(num[0] == -1){
num[1] = num[0] = i; } else num[1] = i; } } return num; } }

转载地址:https://darkness.blog.csdn.net/article/details/115495374 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【剑指OFFER】53 - II. 0~n-1中缺失的数字
下一篇:【剑指OFFER】53 - I. 在排序数组中查找数字 I

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月18日 11时03分47秒