python3:两数之和

python3:两数之和

题目:两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1]

思路:

看似很简单,两个for循环暴力穷举。但是有句话说的好:一入循环深似海,从此offer是路人

for循环做出来基本上都会超时。

所以换一种方法,让定值减去数组中的元素,然后判断数值中是否存在。

使用字典模拟哈希查找,注意为了避免出现重复会被删除的操作,以及方便找出索引值,
这里使用Python enumerate() 函数
enumerate()原理:
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

Python 2.3. 以上版本可用,2.6 添加 start 参数。

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

所以该题可以这样做:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        dics = {
   }
        for id,num in enumerate(nums):
            if target-num in dics:
                return [dics[target-num],id]
            dics[num] = id
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100105.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 软件设计师考点汇总(室内设计师个人总结)

    文章目录分值分布考点总结计算机组成与体系结构数据表示进制转换编码浮点数运算CPU结构运算器控制器Flynn分类法CISC:复杂指令集;RISC:精简指令集流水线流水线相关概念存储系统Cache主存内存磁盘总线系统可靠性差错控制-校验码操作系统进程管理死锁及银行家算法存储管理页面置换算法文件管理索引文件目录结构位示图磁盘管理I/O设备管理虚设备与SPOOLING技术微内核操作系统数据库数据库模式数据库设计过程E-R模型关系代数规范化理论函数依赖键范式模式分解并发控制数据库安全备份恢复数据仓库与数据挖掘反规范化

  • Java基础,if,Integer最大值最小值,负数移位[通俗易懂]

    Java基础,if,Integer最大值最小值,负数移位[通俗易懂]如下:inta=2;if(a){//错误的,Incompatibletype,requiredboolean}if(!a){//错误的,Operate!cannotbeappliedtoint}System.out.println(Integer…

  • c hexdump「建议收藏」

    c hexdump「建议收藏」记录下,有时要打日志用#ifndefhexdump_h#definehexdump_h#ifdef__cpluscplusextern”C”{#endif  voidhexDump(char*desc,void*addr,intlen);   #ifdef__cplusplus}#endif

  • python语言合法变量命名规则_下列不符合Python语言变量命名规则的是??????????????????????????????????????????????????????????????…[通俗易懂]

    python语言合法变量命名规则_下列不符合Python语言变量命名规则的是??????????????????????????????????????????????????????????????…[通俗易懂]下列不符合Python语言变量命名规则的是????????????????????????????????????????????????????????????????????????????????答:3_1已经声明了一个局部变量@n,在下列语句中,能对该变量正确赋值的是(??)答:SELECT?@n=’HELLO’婴儿动作的发展相对落后感觉的发展答:正确下列哪些是昆虫的附肢(?)答:触角…

  • goland 2022.01 激活【2022最新】

    (goland 2022.01 激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html1TCF2R91JZ-eyJsaWNlbnNlSWQi…

  • 自然语言处理中的N-Gram模型详解

    自然语言处理中的N-Gram模型详解N-Gram(有时也称为N元模型)是自然语言处理中一个非常重要的概念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来预计或者评估一个句子是否合理。另外一方面,N-Gram的另外一个作用是用来评估两个字符串之间的差异程度。这是模糊匹配中常用的一种手段。本文将从此开始,进而向读者展示N-Gram在自然语言处理中的各种powerful的应用。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号