当前位置: 首页 > 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;}

相关文章:

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

题目 在一个无序数组中找到两个数&#xff0c;两个数之和为给定的一个数&#xff0c;返回两个数在数组中的下标。 原理 遍历数组&#xff0c;遍历到一个数字的时候&#xff0c;记录下这个数及其下标&#xff0c;遍历时判断给定数减去这个数为key在map中是否存在&#xff0c;…...

Prime (2021): 2

前言 这个靶机有亿点难,收获很多。打靶的时候&#xff0c;前面很顺&#xff0c;到创建ssh公钥之后就一点不会了。 1 01 arp扫描&#xff0c;发现有一个130&#xff0c;再查看端口 有22&#xff0c;80&#xff0c;129&#xff0c;445&#xff0c;10123 dirb扫描目录 这…...

React 状态管理:安全高效地修改对象属性的 3 种方法

在 React 应用程序中,状态(state)是驱动整个应用程序的核心。当应用程序的状态发生变化时,React 会自动重新渲染相应的组件,以确保用户界面的更新。 与数组状态一样,对象状态在 React 中也需要特别处理。直接修改对象属性是不被允许的,因为 React 的不可变性原则要求我们创建一…...

python实现pdf的页面替换

利用第三方库PyPDF2&#xff0c;下面例子中进行的是将 origin.pdf 的第17页替换为 s17.pdf 的第1页&#xff1a; import PyPDF2def replace_pages(original_pdf_path, replacement_pages):with open(original_pdf_path, rb) as original_file:original_pdf PyPDF2.PdfReader(…...

[AIGC] Java List和Map常用API以及其Python实现方式对照介绍

Java和Python作为当今非常浅显易懂的编程语言&#xff0c;其数据结构中对于List和Map&#xff08;Java&#xff09;或List和Dict&#xff08;Python&#xff09;的操作无疑是每个程序员都非常必需的知识。本文将介绍在Java中对List和Map常用的一些操作&#xff0c;并给出在Pyth…...

零基础如何闯入IT的神秘大门?

前言 随着信息技术的飞速发展&#xff0c;IT行业成为了许多有志之士梦寐以求的职业领域。但对于零基础的人来说&#xff0c;如何成功进入这个行业却是一个不小的挑战。下面&#xff0c;我将结合自身的C语言专业知识&#xff0c;为大家详细阐述一条可行的学习路径&#xff0c;并…...

java程序 .exe启动nginx防止重复启动,已解决

java代码生成好的.exe启动nginx服务程序 根据nginx占用端口来解决nginx服务重复启动问题&#xff08;下面代码了解代码逻辑后根据自己的业务需求修改即可&#xff09; 代码&#xff1a; package org.example;import javax.swing.*; import java.awt.*; import java.io.*; …...

二十一、Rust 反射 获取类型

不同于 java 中的反射&#xff0c;Rust 没有提供以往意义上的运行时反射&#xff0c;取而代之的是 “编译期反射”&#xff0c;如 类型分析、类型转换、类型签名。但即便如此&#xff0c;也已经能对 Rust元编程 提供很多助力了。 这种操作&#xff0c;主要通过 Any 来实现&…...

Flutter Engine引擎概念

1.Flutter是Google提供的开源框架。 2.本身由C编写并兼容iOS(底层C)/Android(底层C)平台的FlutterEngine框架负责UI渲染、数据转移、调用DartVM虚拟机。 3.FlutterEngine框架由Skia图形库、Dart运行时、Flutter框架代码组成。Skia是用于图形绘制和文本显示的2D图形引擎库&#…...

【运行环境】加载资源的形式

相关资源&#xff1a;性能优化原则 1 加载资源的形式 html代码 媒体文件&#xff0c;如图片&#xff0c;视频等 javasccript css 2 加载资源的过程 DNS解析&#xff1a;域名-> ip地址 浏览器根据IP地址向服务器发送http 请求 服务器处理http 请求&#xff0c;并返回给浏览器…...

备战蓝桥杯Day40 - 第11届python组真题 - C跑步锻炼

一、题目描述 二、思路 1、使用datetime库中的方法可以很好的解决这个问题。 2、定义起始时间和结束时间&#xff0c;判断是否是周一或者是1号&#xff0c;结果res加上相应的里程数。 3、最后输出 res 即为本题答案。 三、代码实现 import datetimestart datetime.date(2…...

书生·浦语大模型第二期实战营第二课笔记和基础作业

来源&#xff1a; 作业要求:Homework - Demo 文档教程:轻松玩转书生浦语大模型趣味 Demo B站教程:轻松玩转书生浦语大模型趣味 Demo 1. 笔记 2.基础作业 2.1 作业要求 2.2 算力平台 2.3 新建demo目录&#xff0c;以及新建目录下的文件&#xff0c;下载模型参数 2.4 Intern…...

成功解决> 错误: 无效的源发行版:17

运行项目的时候出现下面的报错&#xff1a; Execution failed for task ‘:device_info_plus:compileDebugJavaWithJavac’. 错误: 无效的源发行版&#xff1a;17 原因&#xff1a;没有设置好自己项目的JDK版本 解决&#xff1a;1.检查自己项目的JDK版本 将自己的项目改为JDK 1…...

深度剖析:网络安全中的红蓝对抗策略

红蓝对抗 红蓝对抗服务方案 在蓝队服务中&#xff0c;作为攻击方将开展对目标资产的模拟入侵&#xff0c;寻找攻击路径&#xff0c;发现安全漏洞和隐患。除获取目标系统的关键信息&#xff08;包括但不限于资产信息、重要业务数据、代码或管理员账号等&#xff09;外&#x…...

Java异常处理之旅:解救迷失的程序员(二)

本系列文章简介&#xff1a; 在编程世界中&#xff0c;程序员们常常会遇到各种各样的问题和挑战。有时候&#xff0c;这些问题很容易解决&#xff0c;而有时候&#xff0c;它们却会让我们感到迷失和无助。 在这个旅程中&#xff0c;我们将探索Java异常处理的世界&#xff0c;解…...

网络安全介绍

网络安全是指网络系统的硬件、软件及其系统中的数据受到保护&#xff0c;不因偶然的或者恶意的原因而遭受到破坏、更改、泄露&#xff0c;系统能够连续可靠正常地运行&#xff0c;网络服务不中断。以下是一些网络安全相关的方面&#xff1a; 首先&#xff0c;随着科学技术的进…...

分享一个好看的APP下载分发页,App Store风格

分享一个好看的APP下载分发页&#xff0c;App Store风格 可以自动识别安卓和苹果哦&#xff01; 内容直接可以页面上修改&#xff0c;所见即所得 下图是一个真实截图&#xff0c;想要的留下评论哦&#xff01;...

C++ 获取数组大小、多维数组操作详解

获取数组的大小 要获取数组的大小&#xff0c;可以使用 sizeof() 运算符&#xff1a; 示例 int myNumbers[5] {10, 20, 30, 40, 50}; cout << sizeof(myNumbers);结果&#xff1a; 20为什么结果显示为 20 而不是 5&#xff0c;当数组包含 5 个元素时&#xff1f; 这…...

苹果电脑怎么彻底删除软件 苹果电脑卸载软件在哪里 cleanmymac x怎么卸载 mac废纸篓怎么删除

苹果电脑卸载软件的方法相对直观和简单&#xff0c;尤其是对于习惯使用Mac操作系统的用户来说。以苹果MacBook Pro为例&#xff0c;以下是卸载软件的详细步骤、使用方法、注意事项与建议。 一、卸载软件的详细步骤&#xff1a; 1. 打开Mac电脑&#xff0c;进入桌面&#xff0c…...

STM32F407 FSMC并口读取AD7606

先贴一下最终效果图.这个是AD7606并口读取数据一个周期后的数据结果. 原始波形用示波器看是很平滑的. AD7606不知为何就会出现干扰, 我猜测可能是数字信号干扰导致的. 因为干扰的波形很有规律. 这种现象基本上可以排除是程序问题. 应该是干扰或者数字信号干扰,或者是数字和模拟…...

基于CircuitPython与BLE的无线手势鼠标:从传感器到HID设备的实践

1. 项目概述与核心思路想没想过&#xff0c;你手里的那块开发板&#xff0c;除了点灯、读传感器&#xff0c;还能直接变成你电脑的鼠标&#xff1f;不是通过USB线&#xff0c;而是像你的蓝牙耳机一样&#xff0c;无线连接&#xff0c;靠手腕的晃动来控制光标。这个想法听起来有…...

ARM SCTLR2_EL2寄存器解析与虚拟化安全控制

1. ARM SCTLR2_EL2寄存器架构解析SCTLR2_EL2是ARMv8/v9架构中EL2&#xff08;Hypervisor&#xff09;级别的扩展系统控制寄存器&#xff0c;作为标准SCTLR_EL2的补充&#xff0c;它通过掩码位机制实现了对关键系统功能的细粒度控制。这个64位寄存器主要包含两类功能字段&#x…...

【SimMechanics实战】从零搭建Matlab机械臂仿真模型:模块详解与坐标系规划

1. SimMechanics入门&#xff1a;为什么选择它做机械臂仿真 第一次接触机械臂仿真时&#xff0c;我试过几种不同的工具&#xff0c;最后发现SimMechanics真是个好帮手。它和Matlab/Simulink无缝集成&#xff0c;数据处理特别方便&#xff0c;不像有些专业仿真软件需要频繁导入导…...

AI驱动的代码安全审计工具OpenClaw:原理、部署与实战调优

1. 项目概述&#xff1a;当AI成为代码审计的“利爪” 最近在安全圈和开源社区里&#xff0c;一个名为“OpenClaw”的项目引起了我的注意。它的全称是 zast-ai/openclaw-security-audit &#xff0c;从名字就能嗅到一股“技术极客”的味道——“zast-ai”暗示着AI驱动&#xf…...

基于CircuitPython与BLE的NeoPixel智能穿戴灯光项目实战

1. 项目概述&#xff1a;打造你的第一顶可编程发光帽 几年前&#xff0c;当我第一次在Maker Faire上看到有人戴着一顶能随着音乐节奏变换色彩的帽子时&#xff0c;我就被深深吸引了。那不仅仅是一个电子项目&#xff0c;更像是一件充满个性的可穿戴艺术品。从那时起&#xff0…...

Kleiber:简化多架构Docker镜像构建与发布的自动化工具

1. 项目概述与核心价值最近在整理自己的开发工具链时&#xff0c;又翻出了devgap/kleiber这个项目&#xff0c;它在我日常的容器化开发工作流中扮演了一个相当关键但又不那么起眼的角色。简单来说&#xff0c;Kleiber 是一个 Docker 镜像的构建和发布自动化工具&#xff0c;但它…...

手把手教你调试STM32F103的UART4 DMA:从CubeMX配置到逻辑分析仪抓包分析

STM32F103 UART4 DMA调试实战&#xff1a;从CubeMX配置到逻辑分析仪波形解析 在嵌入式开发中&#xff0c;UART通信是最基础也最常用的外设之一。当通信数据量大或实时性要求高时&#xff0c;直接使用中断方式处理每个字节会显著增加CPU负担。DMA&#xff08;直接内存访问&#…...

从命令行到自动化:用xrandr和Bash脚本打造你的Linux多屏工作流(附常用场景脚本)

从命令行到自动化&#xff1a;用xrandr和Bash脚本打造你的Linux多屏工作流 在Linux系统中管理多显示器配置&#xff0c;xrandr无疑是最强大的命令行工具之一。但每次手动输入复杂的xrandr命令来调整显示器布局&#xff0c;对于追求效率的高级用户来说&#xff0c;无疑是一种时间…...

TimerBlox:基于电流基准的硬件定时新方案,替代555与MCU

1. 项目概述&#xff1a;重新认识定时电路的设计范式在嵌入式系统、电源管理、电机控制乃至各类信号发生器的设计中&#xff0c;定时功能几乎无处不在。无论是生成一个精确的PWM波去调节LED亮度&#xff0c;还是产生一个可调的时钟信号驱动VCO&#xff0c;亦或是需要一个精准的…...

Numba-SciPy:无缝集成SciPy函数到Numba JIT编译的终极指南

1. 项目概述&#xff1a;当高性能计算遇上科学计算库如果你在Python高性能计算领域摸爬滚打过一阵子&#xff0c;大概率听说过Numba这个名字。它通过即时编译&#xff08;JIT&#xff09;技术&#xff0c;让纯Python代码&#xff0c;尤其是那些包含大量循环和数值运算的代码&am…...