当前位置: 首页 > news >正文

【算法】无序数组的两数之和 - map标记

题目

在一个无序数组中找到两个数,两个数之和为给定的一个数,返回两个数在数组中的下标。

原理

遍历数组,遍历到一个数字的时候,记录下这个数及其下标,遍历时判断给定数减去这个数为key在map中是否存在,存在则返回两个下标,否则将数和下标放入map即可。

代码

    public static void main(String[] args) {int[] indexArray = getIndexArray(10, new int[]{2, 7, 5, 3, 1, 6});System.out.println(Arrays.toString(indexArray));}private static int[] getIndexArray(int num, int[] arr) {Map<Integer, Integer> map = new HashMap<>();for (int i = 0; i < arr.length; i++) {if (null != map.get(num - arr[i])) {return new int[]{map.get(num - arr[i]), i};}map.put(arr[i], i);}return null;}
http://www.lryc.cn/news/335904.html

相关文章:

  • Prime (2021): 2
  • React 状态管理:安全高效地修改对象属性的 3 种方法
  • python实现pdf的页面替换
  • [AIGC] Java List和Map常用API以及其Python实现方式对照介绍
  • 零基础如何闯入IT的神秘大门?
  • java程序 .exe启动nginx防止重复启动,已解决
  • 二十一、Rust 反射 获取类型
  • Flutter Engine引擎概念
  • 【运行环境】加载资源的形式
  • 备战蓝桥杯Day40 - 第11届python组真题 - C跑步锻炼
  • 书生·浦语大模型第二期实战营第二课笔记和基础作业
  • 成功解决> 错误: 无效的源发行版:17
  • 深度剖析:网络安全中的红蓝对抗策略
  • Java异常处理之旅:解救迷失的程序员(二)
  • 网络安全介绍
  • 分享一个好看的APP下载分发页,App Store风格
  • C++ 获取数组大小、多维数组操作详解
  • 苹果电脑怎么彻底删除软件 苹果电脑卸载软件在哪里 cleanmymac x怎么卸载 mac废纸篓怎么删除
  • STM32F407 FSMC并口读取AD7606
  • WebGPU vs. 像素流
  • Windows下docker-compose部署DolphinScheduler
  • 微服务项目sc2024通用Base工程
  • git学习 1
  • HTML - 请你说一下如何阻止a标签跳转
  • 【CV】ORB算法
  • 【算法】Cordic算法的原理及matlab/verilog应用
  • QT:信号与槽
  • 以动态库链接库 .dll 探索结构体参数
  • vue快速入门(三)差值表达式
  • RabbitMQ的交换机与队列