java如何实现两数之和
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,这篇文章主要介绍了java如何实现两数之和,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。题目描述给定一个整数数组 nums 和一个目标
千家信息网最后更新 2025年12月04日java如何实现两数之和
这篇文章主要介绍了java如何实现两数之和,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
题目描述
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]
解题方案
思路
标签:哈希映射
这道题本身如果通过暴力遍历的话也是很容易解决的,时间复杂度在O(n2)
由于哈希查找的时间复杂度为O(1),所以可以利用哈希容器map降低时间复杂度
遍历数组nums,i为当前下标,每个值都判断map中是否存在
target-nums[i]的key值如果存在则找到了两个值,如果不存在则将当前的
(nums[i],i)存入map中,继续遍历直到找到为止如果最终都没有结果则抛出异常
时间复杂度:O(n)
代码
class Solution { public int[] twoSum(int[] nums, int target) { Map map = new HashMap<>(); for(int i = 0; i< nums.length; i++) { if(map.containsKey(target - nums[i])) { return new int[] {map.get(target-nums[i]),i}; } map.put(nums[i], i); } throw new IllegalArgumentException("No two sum solution"); }} 画解


感谢你能够认真阅读完这篇文章,希望小编分享的"java如何实现两数之和"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
数组
复杂
复杂度
时间
篇文章
哈希
之和
下标
两个
整数
目标
目标值
代码
价值
元素
兴趣
同时
容器
思路
方案
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
黑龙江省网络安全公益广告
中国联通邮箱收发件服务器
手机网络安全短语
什么是防火墙连接服务器
索尼机服务器
ibm服务器自动关机
青岛市网络安全产业基地
先进网络技术案例
2017网络安全事故
上门软件开发厂家价格
全球服务器机架一共有多少台
公安网络安全专业人员
学校网络安全攻防演练方案
石家庄 软件开发培训
天花板设计软件开发
幻塔服务器人数排行
网络安全红蓝军
义马软件开发电话咨询
数据库基础及应用田萍芳
河南麦维网络技术
软件开发外协工作有前途吗
网络技术员职业要求
计算机网络技术的四个阶段
数据库视频哪个好
中国网络安全法提升什么水平
网络安全性在哪里
2022网络技术春考技能
永州软件开发培训去哪好
学校无线网络安全制度
手机拨号出现服务器错误