LeetCode如何在排序数组中查找元素的第一个和最后一个位置
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍LeetCode如何在排序数组中查找元素的第一个和最后一个位置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一,在排序数组中查找元素的第一个和最后一个位置1,问
千家信息网最后更新 2026年11月03日LeetCode如何在排序数组中查找元素的第一个和最后一个位置
这篇文章主要介绍LeetCode如何在排序数组中查找元素的第一个和最后一个位置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一,在排序数组中查找元素的第一个和最后一个位置
1,问题描述
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。
如果数组中不存在目标值 target,返回 [-1, -1]。
2,示例描述
示例 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 <= 105
-109 <= nums[i] <= 109
nums 是一个非递减数组
-109 <= target <= 109
3,题解思路
本题基于我们最熟悉的集合LinkedHashMap键值对集合来做
4,题解程序
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class SearchRanageTest2 {
public static void main(String[] args) {
int[] nums = {3, 3, 3};
int target = 3;
int[] searchRange = searchRange(nums, target);
for (int num : searchRange) {
System.out.print(num + "\t");
}
}
public static int[] searchRange(int[] nums, int target) {
if (nums == null || nums.length == 0) {
return new int[]{-1, -1};
}
Map map = new LinkedHashMap<>(nums.length);
for (int i = 0; i < nums.length; i++) {
map.put(i, nums[i]);
}
List> collect = map
.entrySet()
.stream()
.filter(x -> x.getValue() == target)
.collect(Collectors.toList());
if (collect.size() == 0) {
return new int[]{-1, -1};
}
if (collect.size() == 1) {
return new int[]{collect.get(0).getKey(), collect.get(0).getKey()};
}
if (collect.size() > 2) {
return new int[]{collect.get(0).getKey(), collect.get(collect.size() - 1).getKey()};
}
int[] result = new int[collect.size()];
int index = 0;
for (Map.Entry entry : collect) {
result[index++] = entry.getKey();
}
return result;
}
}
以上是"LeetCode如何在排序数组中查找元素的第一个和最后一个位置"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
数组
位置
示例
元素
排序
目标
目标值
输入
输出
内容
篇文章
题解
价值
兴趣
升序
小伙
小伙伴
思路
整数
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网加科技
互联网科技公司的优势
互联网核心科技是什么
金融科技与互联网金融
互联网金融 金融科技
远拓互联网科技
致聘互联网科技
互联网前沿科技
互联网科技宣传片
互联网 科技服务平台
上海宁丞科技互联网
中国航天科技大学国际工业互联网
崇明区互联网教育科技售后服务
恒生互联网科技指数跳水
深圳市优智互联网科技有限公司
河南住房之家互联网科技
青岛易易互联网科技
互联网的黑科技实验室
广州全民伙伴互联网科技有限公司
小牛互联网科技有限公司地址
南京欣网互联网络科技有限公司
广州万易互联网科技有限公司
科技互联网龙头
掌上梦互联网科技
温州喔噻互联网科技有限公司
互联网科技创新的路径
佛山市拉法互联网科技有限公司
锡山区互联网智能科技产品供应
杭州披云加互联网科技有限公司
第三届互联网大会安防黑科技