Java学习手册:(数据结构与算法-数组)Two Sum(leetcode1)

LeetCode 1. Two Sum--数组中两元素相加为该数值,输出对应的两个索引 Given an array of integers, returnindicesof the two numbers such that they add up to a specific target. You may assume that each input would haveexactlyone solution, and you may not use thesam 阅读详情
题目:

给出一个整型数组nums。返回这个数组中两个数字的索引值i和j,使得nums[i]+nums[j]等于一个给定的target值。两个索引不能相等。

示例:
  • 如nums = [2, 7, 11, 15], target = 9
  • 返回[0,1]
方法一:

暴力解法:O(n^2)

方法二:

排序后,使用双索引对撞:O(nlogn) + O(n) = O(nlogn)

方法三:

查找表。将所有元素放入查找表,之后对于每一个元素a,查找target-a是否存在。
时间复杂度:O(n)
控件复杂度:O(n)

方法三代码:
package com.haobi;

import java.util.HashMap;
import java.util.Map;

public class TwoSum {
	public static void main(String[] args) {
		int[] arr = {2, 7, 11, 15};
		for(int a : twoSum(arr, 9)) {
			System.out.print(a+" ");
		}
	}
	
	public static int[] twoSum(int[] nums, int target){
		Map<Integer, Integer> record = new HashMap<>();
		int res[] = {-1,-1};
		//将数组中的所有元素存进Map(查找表)中
		for(int i=0;i<nums.length;i++) {
			//目标元素
			int complement = target - nums[i];
			//如果Map中有目标元素
			if(record.containsKey(complement)) {
				res[0] = record.get(complement);
				res[1] = i;
				return res;
			}
			record.put(nums[i], i);
		}
		return res;
	}
}
【LeetCode】1. Two Sum 文章摘要:题目要求在整数数组中找到两个数,使它们的和等于目标值,并返回这两个数的索引。给出的Java和Go解决方案都采用了双重循环暴力搜索方法,时间复杂度为O(n²)。Java实现使用嵌套循环遍历所有可能的数对,直到找到满足条件的组合;Go实现采用类似逻辑。虽然都能解决问题,但效率较低。题目提示可以尝试低于O(n²)时间复杂度的算法,暗示可能有更优解法(如哈希表)。两种语言的核心思路相同,只是语法实现不同。 阅读详情

相关推荐

NC数据预处理避坑指南:从MATLAB读取到GeoTIFF导出,解决坐标翻转与值域异常

本文详细解析了NC数据预处理中的常见问题,包括MATLAB读取时的坐标翻转与GeoTIFF导出时的值域异常。通过实战案例,介绍了如何解决矩阵方向错乱、处理FillValue与scale_factor、精准移植空间参考等关键问题,帮助研究者高效完成气象数据的批量处理与GIS兼容性验证。

weixin_30788619的博客 655

LeetCode 1 Two Sum题解

题目地址:https://leetcode.com/problems/two-sum/ 1. Two Sum 难度:简单 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that e

赞美月亮的专栏 665

AWS S3文件上传性能优化:Java SDK多线程与分段上传实战指南

本文详细介绍了如何通过Java SDK优化AWS S3文件上传性能,重点讲解多线程并发上传与分段上传(Multipart Upload)技术的实战应用。通过动态调整分段策略、线程池配置及内存优化技巧,可显著提升大文件上传效率,实测显示组合方案比单线程上传提速近5倍。文章还涵盖加密上传、断点续传等高级场景解决方案,并提供了完整的性能对比测试数据。

d6e7f8的博客 1017

LeetCode刷题笔录 Two Sum

Two Sum Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the

likecool21的专栏 1万+

阿里云导出的镜像raw转换成vmdk格式工具

阿里云导出的镜像raw转换成vmdk格式工具 1.安装java环境,安装教程不介绍了 2.raw2vmdk软件下载: 在我的链接里面: 3.使用 打开cmd.bat软件: java -jar raw2vmdk.jar (原镜像)C:\\images\\raw\\disk.img (转换的镜像)D:\\images\\vmdk\\disk.vmdk 4.vmware打开vmdk文件 ...

3845

【阿里云大模型高级工程师ACP习题集】2.7 通过微调增强模型能力 (上篇)(⭐️⭐️⭐️ 重点章节!!!)

【摘要】这是我精心整理出对应的习题集,里面足足有 30 道题目,从基础概念到深度拓展,全方位覆盖章节重点、难点。不管你是想检验自己的学习成果,还是想针对薄弱环节进行强化训练,它都能完美适配!

davidkorhenn的博客 1604

[LeetCode] No.1 Two Sum

“做程序员太辛苦了,我想换行……我该怎么办?” “敲一下回车。” Two Sum(两数之和) 题目: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would...

但行好事 莫问前程 348

双模音频解码器设计:USB+蓝牙LDAC平衡输出方案

音频解码器是数字音频系统中实现数模转换的核心组件,其性能直接决定音质保真度与系统延迟。基于高集成SoC的解码方案通过统一时钟域与片内DSP处理,有效抑制Jitter并简化硬件拓扑;结合全平衡模拟输出架构,可显著提升共模抑制比(CMRR)与信噪比(SNR)。该技术路径广泛应用于便携式Hi-Res音频设备、USB-C小尾巴DAC及蓝牙高解析耳机放大器等场景。本文围绕ES9038Q2M双模SoC展开,详解其在LDAC协议支持、UAC2.0兼容性及平衡电流型DAC输出方面的工程实现,为高性能、可量产音频硬件开发提供

weixin_42613018的博客 390

LeetCode算法领域经典入门题目之“Two Sum”问题

LeetCode的“Two Sum”问题是算法领域的经典入门题目,要求在数组中找到两个数的和等于目标值的索引。它的核心思想在医学影像AI中有着广泛应用,例如在特征匹配、像素值配对或数据预处理中寻找特定组合。本文以“Two Sum”为基础,结合医学影像AI场景(如DICOM影像的像素值配对或特征向量的和匹配),提供详细的Python实现,涵盖暴力解法、哈希表优化解法和扩展到3D影像的变体实现。内容包括问题描述、解题原理、代码实现、复杂度分析、优化策略、Mermaid流程图等

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 1238

使用Python下载ECMWF的ERA-5数据

一、注册账号 [官网]https://www.ecmwf.int/ 二、登录后获取下载key https://cds.climate.copernicus.eu/api-how-to 如图右侧红色框中的内容复制保存为TXT文件,并重命名为“.cdsapirc”,注意前面有点,保存在 C:\Users\username\.cdsapirc,(WINDOWS系统),username指当前电脑登录账户。 三、安装cdsapi库 以pycharm为例: 在pycharm中依次打开:File>setting

wise_sun的博客 7706

大唐杯历届省赛押题训练(6)

考试-TD-LTE无线网络设备介绍-TD-LTE网络架构一、单选题1TD-LTE的接入网E-UTRAN由下列哪些网元组成( )。0分/1分A、RNCB、BTSC、eNode BD、Node B提交答案:B正确答案:C考点TD-LTE网络架构解析暂无试题解析二、多选题1关于LTE网络整体结构,哪些说法是正确的( )0分/2分A、E-UTRAN用E-NodeB替代原有的RNC-NodeB结构B、E-NodeB间的接口为S1接口C、各网络节点之间的接口使用IP传输。

nimo观察者 638

LeetCode Two Sum算法详解与面试应用

哈希表是计算机科学中重要的数据结构,通过键值对实现O(1)时间复杂度的查找操作。在算法问题中,利用哈希表可以显著提升查找效率,这是典型的空间换时间策略。Two Sum问题作为算法面试中的经典题目,要求找出数组中两数之和等于目标值的下标组合。最优解法使用哈希表存储遍历过的数值及其索引,只需一次遍历即可完成查找,时间复杂度优化至O(n)。该算法思想广泛应用于缓存系统、支付对账等工程场景,是每位开发者必须掌握的基础算法。本文详细剖析了暴力解法、哈希表优化等不同实现方案,并提供了Python、Java、C++等多语

weixin_34293141的博客 388

GEE APP:基于Sentinel-2遥感影像的植被指数(NDVI)和水体指数(NDWI)可视化应用

本文介绍了利用Google Earth Engine(GEE)平台处理Sentinel-2卫星数据的方法,重点讲解NDVI(归一化植被指数)和NDWI(归一化水体指数)的计算与应用。内容包括环境准备、数据加载与处理、指数计算原理、可视化方法以及实际应用案例。教程详细展示了如何定义研究区域、加载影像数据、进行指数运算,并生成专业统计报告和图例。文章还提供了常见问题解答和最佳实践建议,为生态环境监测、农业评估和水资源管理等场景提供了实用工具。通过JavaScript代码示例,读者可以快速掌握GEE平台的遥感影像

此星光明博客 273

ACM之LeetCode中Two Sum

题目信息: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution. Example: G

Microstrong 864

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Leetcode ☞ 1. Two Sum ☆ 【Hashmap】

给一数组和一target数,有两个元素的和为target。求这两个元素的下标的和。

Dr_Unknown的博客 984

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

[leetCode-1]two-sum (java version)

[leetCode-1]two-sum 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: ...

fruitful1989的博客 153

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LeetCode 1 — Two Sum(C++ Java Python)

题目: Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the target,

龙之梦 1万+

数据结构与算法及leetcode上有关数组题目的整理003

今天总结了一下leetcode上数组的题,leetcode上数组的题实在是太多了,这里只对前150题进行了归纳,选择一些比较经典的题总结; leetcode1:Two sum 计算两个数的和等于一个目标结果,传统暴力算法:遍历两次,计算出相应的和,然后用一个vector来保存数据然后返回,时间复杂度为O(n^2); 算法改进:首先将数组进行排序,然后采用两个指针,一个指针指向数组起始的

hufanglei007的博客 360

【LeetCode】解题1:Two Sum

LeetCode解题 1:Two Sum Problem 1: Two Sum [Easy]Solution (Java)修改过程 Problem 1: Two Sum [Easy] Given an array of integers, return indices of the two numbers such that they add up to a specific target. Yo...

Fayedily的博客 249

LeetCode:1.两数之和(Two Sum)Java完整代码

这是包含输入的完整Java代码。 LeetCode:1.两数之和(Two Sum) 题解与思路 方法一: import java.util.*; /** * 在这里给出对类 LC1TwoSum 的描述。 * LC1-暴力 * @作者(yequan17) * @版本(2021.12.5) */ public class LC1TwoSum { public static void main(String[] args){ Scanner sc=new Scanner(Syst

野犬17的博客 931

LeetCode Two Sum&Two Sum II - Input array is sorted&3Sum&4Sum 一锅煮题解

文章目录Two SumTwo Sum II3Sum4Sum Two Sum 题意 给定一个数组,和指定一个目标和。从数组中选择两个数满足和为目标和。保证有且只有一个解。每个元素只可以用一次。 思路 Hash表快速查询值是否在数组中存在。 枚举一个数,查询另一个数是否存在。 注意:虽然一个元素只可以使用一次,但是数组中可以出现重复的元素。 复杂度 T(N)=O(N),M(N)=O(N)T(N)=O...

稻云麦花的博客 221

双指针算法解析:从Two Sum II到工程实践

双指针算法是处理有序数组查找问题的经典技巧,通过左右指针的协同移动实现高效搜索。其核心原理是利用数据有序性带来的单调特性,将时间复杂度从O(n²)优化到O(n)。在工程实践中,这种算法广泛应用于价格匹配、资源调度等需要快速定位特定组合的场景。以力扣167题Two Sum II为例,该算法能有效解决已排序数组中寻找目标和的问题,并可以扩展到三数之和等变种问题。掌握双指针技巧不仅能提升算法解题效率,也是应对电商推荐系统、金融分析等实际业务需求的重要技能。

weixin_30074763的博客 292

LeetCode 1: Two Sum

题目: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution. Example: Giv

生而彷徨 1620

[LeetCode] 167. Two Sum II - Input array is sorted

原题链接: https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/ 1. 题目描述 Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific...

Ber03的博客 262

力扣 170. 两数之和 III - 数据结构设计 two-sum III

boolean find(int value) 寻找数据结构中是否存在一对整数,使得两数之和与给定的值相等。这一题和 001 第一题是一样的,可以参考 T001 和 T167 的解法,这里把这一题单独拿出来只是为了学习的系统性。设计一个接收整数流的数据结构,该数据结构支持检查是否存在两数之和等于特定值。这一题还有一个核心的区别是数据会一直变化,所以数组的排序会打折扣。在这个场景里面,最简单好用的应该是 HashMap 的方式。我们掌握了核心的思路,不同的场景只需要进行相关的调整就行。所以不做过多的展开。

500

1. Two Sum 两数之和

题目:Two Sum 两数之和 难度:Easy 简单 Given an array of integers, returnindicesof the two numbers such that they add up to a specific target. You may assume that each input would haveexactlyone solution, ...

qq_21963133的博客 201
上一篇: Java学习手册:(数据结构与算法-数组)Longest Substring Without Repeating Characters(leetcode3)
下一篇: Java学习手册:(数据结构与算法-数组)4Sum(leetcode454)
浩比浩比
博客等级 码龄12年 395粉丝 202原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值