java如何实现两数之和
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了java如何实现两数之和,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。题目描述给定一个整数数组 nums 和一个目标
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
疫情对互联网科技公司影响
互联网巨头科技公司
金融科技与互联网金融
紫鲸互联网科技
温州喔噻互联网科技有限公司
承德科技产业互联网发展
受益于互联网科技的高速发展
互联网和黑科技的看法
坤平互联网科技
电子科技大学互联网创业大赛
银川新华互联网科技学校联系电话
阿里互联网科技企业
玉溪新华互联网科技好不好
高科技互联网套路
四川互联网展示科技馆设计
张召忠谈中国互联网科技
西安有哪些互联网高科技企业
互联网科技收购价值
青岛易易互联网科技
现代科技的标志之一的互联网
有格互联网科技
互联网金融与金融科技
小马过河互联网科技
互联网科技博客
深圳前海聚择互联网科技有限公司
受益于互联网科技的高速发展
互联网新科技动漫ppt素材
徐州市互联网科技有限公司
上海万顺科技互联网有限公司招聘
广州全民伙伴互联网科技有限公司