java如何实现两数之和
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍了java如何实现两数之和,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。题目描述给定一个整数数组 nums 和一个目标
千家信息网最后更新 2025年01月23日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) { Mapmap = 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安全错误
数据库的锁怎样保障安全
易语言数据库删除指定记录
泄露 数据库 下载
工程软件开发法律法规
网络安全圈子的理解
6g网络技术的研究
友商商场软件开发
数据库技术知识
海外代理服务器地址
网络安全对国家的好处
软件开发试点
华为昆明软件开发云创中心
天门专业的软件开发企业
奇迹mu单机版物品数据库
ice服务器哪个好
个人多媒体管理软件破解带数据库
软件开发退税财务处理
华为手机6g网络技术
软件开发公司外包情况
数据库parallal
服务器进pe不显示硬盘
国外网络安全的电影
郑州服务器带宽优势
cmd打开远程服务器应用
安卓手机做samba服务器
微科软件开发有限公司怎么样
互联网金融科技公司的兴起
网络安全法开始实施
软件开发服务和销售软件怎么区分
地质灾害数据库录入
yum 源服务器