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

LeetCode--1 两数之和

文章目录

  • 1 题目描述
  • 2 解题思路
    • 2.1 暴力破解
    • 2.2 使用 Map

1 题目描述

给定一个整数数组 nums 和一个整数目标值 target, 请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标

你可以假设每种输入只会对应一个答案。但是, 数组中同一个元素在答案里不能重复出现
你可以按任意顺序返回答案

示例 1:

输入:nums = [2, 7, 11, 15],  target = 9
输出:[0, 1]
解释:因为 nums[0] + nums[1] == 9 , 返回 [0,  1] 。

示例 2:

输入:nums = [3, 2, 4],  target = 6
输出:[1, 2]

示例 3:

输入:nums = [3, 3],  target = 6
输出:[0, 1]

2 解题思路

2.1 暴力破解

两层 for 循环, 外层循环 0 ~ nums.length - 1, 内层循环 外层 + 1 ~ nums.length, 这样虽然能简单粗暴解题, 但时间复杂度 O( n 2 n^2 n2)

2.2 使用 Map

  1. 目标是 nums[i] + nums[j] = target, 转换一下变成 target - nums[i] = nums[j]
  2. 在遍历 nums 时, 将数据依次存储到 map, key为 nums[i], value 为位置 i
  3. 使用 target - nums[i] 的结果去 map 中查找, 看是否能匹配上, 这样就能快速找到 nums[j]

时间复杂度为O(n)

class Solution {public int[] twoSum(int[] nums,  int target) {  int[] result = new int[2];  // 如果数组为空或者长度小于2, 直接返回  if (nums == null || nums.length < 2) {  return result;  }  // key为数组元素, value为数组下标,  保存已经遍历过的元素  Map<Integer,  Integer> dataMap = new HashMap<>(nums.length);  for (int i = 0; i < nums.length; i++) {  // 如果 map 中包含target - nums[i], 则说明找到了  if (dataMap.containsKey(target - nums[i])) {  result[0] = dataMap.get(target - nums[i]);  result[1] = i;  break;  }  // 如果 map 中不包含target - nums[i], 则将当前元素放入map中  dataMap.put(nums[i],  i);  }  return result;  }
}

相关文章:

LeetCode--1 两数之和

文章目录 1 题目描述2 解题思路2.1 暴力破解2.2 使用 Map 1 题目描述 给定一个整数数组 nums 和一个整数目标值 target, 请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标 你可以假设每种输入只会对应一个答案。但是, 数组中同一个元素在答案里不…...

Hafnium安全分区管理器和示例参考软件栈

安全之安全(security)博客目录导读 目录 一、安全分区管理器 1、术语 2、对旧平台的支持 二、示例参考软件栈 一、安全分区管理器 安全分区管理器的三种实现在TF-A代码库并存&#xff1a; 1.基于FF-A规范的S-EL2 SPMC&#xff08;SPM Core&#xff09;&#xff0c;使能安全…...

Python解读市场趋势:LSTM 和 GRU 在预测 Google 股价方面的探索

我将向您展示如何使用 LSTM 和 GRU 预测股票价格。 导入库 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt import matplotlib.dates as mdates import plotly.express as pxfrom keras.preprocessing.sequence import Timese…...

vue源码分析(二)——vue的入口发生了什么

文章目录 前言&#xff08;1&#xff09;vue 项目构建的时候&#xff0c;通过package.json文件看到构建入口&#xff08;2&#xff09; 构建入口页面&#xff1a;导入同级模块config的getAllbuilds方法&#xff08;3&#xff09; 通过传入参数中的builds对象使用map获取&#x…...

系统架构师论文总结【持续更新】

系统架构师考试是对计算机从业人员&#xff0c;以考代评的重要考试&#xff0c;近几年一直在参加考试&#xff0c;屡战屡败&#xff0c;后又屡败屡战&#xff0c;记录总结论文相关的知识点&#xff0c;方便考前查看。 一、2010年论文 1&#xff09;论软件的静态演化和动态演化…...

STM32-LCD中英文显示及应用

目录 字符编码 ASCII码&#xff08;8位&#xff09; 中文编码&#xff08;16位&#xff09; GB2312标准 GBK编码 GB18030标准&#xff08;32位&#xff09; Big5编码 Unicode字符集和编码 UTF-32&#xff08;32位&#xff09; UTF-16&#xff08;16位/32位&#xff0…...

13.4web自动化测试(Selenium3+Java)

一.定义 用来做web自动化测试的框架. 二.特点 1.支持各种浏览器. 2.支持各种平台(操作系统). 3.支持各种编程语言. 4.有丰富的api. 三.工作原理 四.搭环境 1.对照Chrome浏览器版本号,下载ChromeDriver,配置环境变量,我直接把.exe文件放在了jdk安装路径的bin文件夹下了(j…...

P1966 [NOIP2013 提高组] 火柴排队

洛谷的一道原题&#xff0c;方法有很多&#xff0c;树状数组以及排序&#xff0c;对刚学树状数组的人来说用排序会比较好理解。 本题最重要的结论就是&#xff0c;要保证两个数组中相同位置的差最小&#xff0c;但是不一定两个数组中数值相同&#xff0c;所以只需要保证相同位…...

Linux文件I/O

下面的内容需要了解系统调用&#xff0c;可看下面的链接&#xff1a; 系统调用来龙去脉-CSDN博客 1.底层文件IO和标准IO 这里指的是操作系统提供的IO服务&#xff0c;不同于ANSI建立的标准IO。 底层IO和标准IO各自所使用的函数&#xff1a; 区别&#xff1a; 1.底层文件IO不…...

卡巴斯基2009杀毒软件

下载地址&#xff1a;https://user.qzone.qq.com/512526231/main https://user.qzone.qq.com/3503787372/main...

Docker 容器服务的注册、发现及Docker安全

目录 Docker容器服务的注册和发现 1、什么是服务注册与发现&#xff1f; 2、什么是consul consul的部署 1、环境准备 2、部署consul服务器 1&#xff09;建立 Consul 服务 2&#xff09;设置代理&#xff0c;在后台启动 consul 服务端 3&#xff09;查看集群信息 4&a…...

UE5 Blueprint发送http请求

一、下载插件HttpBlueprint、Json Blueprint Utilities两个插件是互相依赖的&#xff0c;启用&#xff0c;重启项目 目前两个是Beta的状态&#xff0c;如果你使用的平台支持就可以使用&#xff0c;我们的项目因为需要取Header的值&#xff0c;所有没法使用这两个插件&#xff0…...

SpringBoot 分布式验证码登录方案

前言 为了防止验证系统被暴力破解&#xff0c;很多系统都增加了验证码效验&#xff0c;比较常见的就是图片二维码&#xff0c;业内比较安全的是短信验证码&#xff0c;当然还有一些拼图验证码&#xff0c;加入人工智能的二维码等等&#xff0c;我们今天的主题就是前后端分离的…...

vite.config.js文件配置代理设置VITE_APP_BASE_API

.env.development文件 ENV development # base api VITE_APP_BASE_API /dev-api.env.production文件 ENV production # base api VITE_APP_BASE_API /apidefine: {process.env: {VITE_APP_BASE_API: https://xxx.com}},server: {hmr: true, // vue3 vite配置热更新不用手动…...

优橙内推海南专场——5G网络优化(中高级)工程师

可加入就业QQ群&#xff1a;801549240 联系老师内推简历投递邮箱&#xff1a;hrictyc.com 内推公司1&#xff1a;南京华苏科技有限公司 内推公司2&#xff1a;南京欣网通信股份有限公司 内推公司3&#xff1a;广东华讯工程有限公司 南京华苏科技有限公司 南京华苏科技有…...

5083: 【递推】走方格

题目描述 在平面上有一些二维的点阵。 这些点的编号就像二维数组的编号一样&#xff0c;从上到下依次为第 1 至第 n 行&#xff0c;从左到右依次为第 1 至第 m 列&#xff0c;每一个点可以用行号和列号来表示。 现在有个人站在第 1 行第 1 列&#xff0c;要走到第 n 行第 m …...

多种方式计算当天与另一天的间隔天数 Java实现

这里不会记录纯原生写法&#xff0c;因为现在基本都是被工具类封装好的&#xff0c;所以会记录好用的工具类来简化开发&#xff0c;当然自己可以研究写一个年月日各自做减法的纯原生工具类。 踩坑处(System.currentTimeMillis) 这里指的是使用System.currentTimeMillis()方法。…...

Python基础学习004——for循环与字符串

""" 1.for循环基本语法 2.做指定次数的循环,range()函数 3.continue的使用 4.字符串的定义与使用:转义符,原生字符 5.获取字符串长度,字符串索引的使用 6.切片,翻转字符串 7.字符串的查找find 8.字符串的替换replace 9.字符串的拆分split 10.字符串的链接join &…...

【发展史】鼠标的发展史

最早可以追溯到1952年&#xff0c;皇家加拿大海军将5针保龄球放在能够侦测球面转动的硬件上&#xff0c;这个硬件再将信息转化成光标在屏幕上移动&#xff0c;用作军事计算机输入。这是我们能够追溯到的最早的依靠手部运动进行光标移动的输入设备。但当时这个东西不叫鼠标&…...

ThinkPHP6 多应用模式之验证码模块的配置与验证

Thinphp6 官方的验证码模块的配置是有问题的&#xff0c;或者说需要手工配置。 在配置期间&#xff0c;我尝试了多种&#xff08;包括按照官方文档、路由等&#xff09;方法都验证失败。 存在2个问题&#xff1a; 1、多应用模式下&#xff0c;验证码的配置文件依然读取全局的…...

秒排 seo 对网站流量和转化率有什么影响_秒排 seo 会对网站造成哪些影响

秒排 seo 的概念及其对网站流量和转化率的影响 在当今数字营销的环境中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;被视为提升网站可见性和吸引流量的关键手段。其中&#xff0c;秒排 SEO&#xff08;即快速上升到搜索引擎首页的SEO策略&#xff09;备受关注。这种快…...

Ostrakon-VL-8B镜像免配置:内置Nginx反向代理模板,支持HTTPS与域名访问

Ostrakon-VL-8B镜像免配置&#xff1a;内置Nginx反向代理模板&#xff0c;支持HTTPS与域名访问 你是不是也遇到过这样的烦恼&#xff1f;好不容易在服务器上部署了一个AI模型&#xff0c;比如这个专门看懂店铺和厨房图片的Ostrakon-VL-8B&#xff0c;结果发现只能通过IP地址加…...

抖音下载器终极指南:批量获取无水印视频与高清封面的完整方案

抖音下载器终极指南&#xff1a;批量获取无水印视频与高清封面的完整方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...

终极窗口调整指南:如何用WindowResizer突破Windows尺寸限制

终极窗口调整指南&#xff1a;如何用WindowResizer突破Windows尺寸限制 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 你是否经常遇到无法调整大小的Windows应用程序窗口&#xf…...

Pixel Language Portal 视觉化系统设计:根据描述生成Visio架构图

Pixel Language Portal 视觉化系统设计&#xff1a;根据描述生成Visio架构图 1. 从文字到图形的智能转换 想象一下&#xff0c;你正在会议室里向团队描述一个复杂的系统架构。你滔滔不绝地讲着"微服务"、"消息队列"、"数据库集群"&#xff0c;…...

游戏回放解析工具:突破英雄联盟回放技术瓶颈的全栈解决方案

游戏回放解析工具&#xff1a;突破英雄联盟回放技术瓶颈的全栈解决方案 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 痛点诊断&#x…...

3种解决方案让QQ音乐加密文件重获自由:QMCDecode全解析

3种解决方案让QQ音乐加密文件重获自由&#xff1a;QMCDecode全解析 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff0c;默认…...

BGE Reranker-v2-m3在智能法律咨询系统中的应用

BGE Reranker-v2-m3在智能法律咨询系统中的应用 1. 引言 想象一下这样的场景&#xff1a;一位普通市民遇到了法律问题&#xff0c;打开智能法律咨询系统输入"租房合同纠纷怎么处理"&#xff0c;系统瞬间从海量法律条文和案例中筛选出最相关的信息。但有时候&#x…...

快速上手:实时口罩检测-通用模型,从安装到检测只需10分钟

快速上手&#xff1a;实时口罩检测-通用模型&#xff0c;从安装到检测只需10分钟 1. 引言&#xff1a;为什么选择这个口罩检测模型 在公共场所管理、智能门禁系统或健康监测应用中&#xff0c;准确快速地检测人员是否佩戴口罩是一个常见需求。传统方案往往需要复杂的部署流程…...

HY-Motion 1.0常见问题解决:生成失败、显存不足?看这篇就够了

HY-Motion 1.0常见问题解决&#xff1a;生成失败、显存不足&#xff1f;看这篇就够了 1. 问题定位与快速诊断 1.1 为什么我的动作生成失败了&#xff1f; 当HY-Motion 1.0生成失败时&#xff0c;90%的问题可以归为以下三类&#xff1a; 输入不规范&#xff1a;检查Prompt是…...