LeetCode怎么实现两数之和
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章给大家分享的是有关LeetCode怎么实现两数之和的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1题目描述给定一个整数数组 nums 和一个目标值 target,在
千家信息网最后更新 2025年01月23日LeetCode怎么实现两数之和
思路一 : 遍历匹配
这篇文章给大家分享的是有关LeetCode怎么实现两数之和的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1
题目描述
给定一个整数数组 nums 和一个目标值 target,在该数组中找出和为目标值的那两个整数的数组下标。如nums = [2, 7, 11, 15], target = 9时,返回[0,1](因为2+7=9)。
2
解题
通过两层for循环对所有可能逐一进行验证,找到正确结果。此方法python程序在LeetCode中显示时间超出限制,不推荐。
思路二:哈希表
通过一层for循环结合enumerate()找到每个数字值与位置的关系,存储在哈希表中。因为要找两数之和,所以每次循环时,首先判断target-item是否在已经建立的哈希表中,如果在则返回两个值的位置,如果不在把本次得到的值与位置关系新添在哈希表中。
class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: h_map = {} # 或 h_map = dict() for i,item in enumerate(nums): if target-item in h_map : # 或 if h_map.get(target-item) is not None: , # 但速度略慢一些 return [h_map[target-item],i] h_map[item]=i
需要注意的是,类似nums=[2,2],target=4的输入,生成哈希表时第二个2的位置会覆盖第一个2的位置,导致无法得到[0,1]的结果,因此要在循环最后将本次的值与位置关系加入哈希表中,而不是在两层for后首先将对应关系加入哈希表。并且本方法,判断target-item是否在列表中时,是在item之前的值中查找符合条件的值,而不是针对列表中全部元素进行判断,使得效率进一步提升(不用担心这样会错过正确答案,因为当两个元素都循环到时,结果依旧可以识别出来)。
感谢各位的阅读!关于"LeetCode怎么实现两数之和"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
哈希
位置
循环
之和
两个
数组
结果
元素
内容
思路
整数
是在
更多
目标
目标值
篇文章
不错
实用
下标
不用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何优化数据库处理速度
google的数据库
抖音视频使用的数据库技术
网络技术公司都有什么部门
个人上网计费系统软件开发
与wbe服务器安全通信
高中学生网络安全的活动简报
阿里开源的分布式开源数据库
猎罪图鉴网络安全问题
2018国际网络安全宣传周
管家婆创业版 数据库 类型
redis客户端访问数据库
合肥手机软件开发公司
爱如生古籍数据库免费
接到网络安全案件后该如何做
网络技术工作室经理
重庆汇展网络技术
本地数据库常用命令汇总
视频录播服务器
软件开发美工绩效考核细则表
软件开发考察解决问题能力的题目
lol服务器地址ip
小学网络安全法律宣传
mysql怎么添加数据库
大型mc服务器
ios软件开发的优缺点
网络安全性保障
临沧心悦网络技术有限公司
科技和互联网的发展对旅游的影响
无锡常规软件开发价格多少