leetcode数组找最大数(leetcode排序中查找元素)

技术LeetCode如何在排序数组中查找元素的第一个和最后一个位置这篇文章主要介绍LeetCode如何在排序数组中查找元素的第一个和最后一个位置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 一

这篇文章主要介绍LeetCode如何在排序数组中查找元素的第一个和最后一个位置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一,在排序数组中查找元素的第一个和最后一个位置

1,问题描述

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

如果数组中不存在目标值目标,返回[-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=目标=109

3,题解思路

本题基于我们最熟悉的集合LinkedHashMap键值对集合来做

4,题解程序

导入Java。乌提尔。linkedhashmap

导入Java。乌提尔。列表;

导入Java。乌提尔。地图;

导入Java。乌提尔。小溪。收藏家;

公共类SearchRanageTest2 {

公共静态void main(String[]参数){ 0

int[] nums={3,3,3 };

int target=3;

int[]搜索范围=搜索范围(nums,target);

for(int num : SearchRange){ 0

系统。出去。打印(数字' \ t ');

}

}

公共静态int[]搜索范围(int[]nums,int target){ 0

if(nums==null | | nums。长度==0){ 0

返回新的int[]{-1,-1 };

}

MapInteger,整数映射=new LinkedHashMap(nums。长度);

for(int I=0;I nums . LengTii){ 0

map.put(i,nums[I]);

}

列表地图。整数收集=地图。entrySet()。流()。筛选器(x - x.getValue()==目标)。收集(收集者。to list());

如果(收集。size()==0){ 0

返回新的int[]{-1,-1 };

}

如果(收集。size()==1){ 0

返回新的int[]{collect.get(0).getKey(),collect.get(0).getKeY()};

}

如果(收集。大小)(2){ 0

返回新的int[]{collect.get(0).getKey(),collect.get(collect.size() - 1).getKeY()};

}

int[]结果=new int[collect。size()];

(同Internationalorganizations)国际组织索引=0;

(地图EntryInteger,整数条目: collect){ 0

结果[索引]=条目。GetKey();

}

返回结果;

}

}以上是“LeetCode如何在排序数组中查找元素的第一个和最后一个位置"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/147025.html

(0)

相关推荐

  • P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G

    技术P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fe

    礼包 2021年11月18日
  • vue是什么手机软件

    技术vue是什么手机软件这篇文章主要讲解了“vue是什么手机软件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue是什么手机软件”吧! vu

    攻略 2021年10月26日
  • 什么是bootstrap网格

    技术什么是bootstrap网格本篇内容主要讲解“什么是bootstrap网格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是bootstrap网格”吧!

    攻略 2021年10月29日
  • 比尔吉沃特是几区,LOL新手推荐去哪个区

    技术比尔吉沃特是几区,LOL新手推荐去哪个区先来给大家介绍一下联盟各大区英雄联盟国服总共有27个区 电信比尔吉沃特是几区:艾欧尼亚 祖安 诺克萨斯 班德尔城 皮尔特沃夫 战争学院 巨神峰 雷瑟守备 钢铁烈阳

    生活 2021年10月25日
  • vue组件创建与应用(vue 判断组件是否被创建)

    技术怎么深入了解Vue组件的创建和使用今天就跟大家聊聊有关怎么深入了解Vue组件的创建和使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、什么是组件?组件 (

    攻略 2021年12月25日
  • 微服务化的原则有哪些

    技术微服务化的原则有哪些本篇内容介绍了“微服务化的原则有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一,专注处理

    攻略 2021年10月20日