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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring bean的生命周期面试如何回答_面试maven的生命周期

    spring bean的生命周期面试如何回答_面试maven的生命周期SpringBean生命周期

    2022年9月19日
    0
  • lua字符串截取_lua删除数组元素

    lua字符串截取_lua删除数组元素localstr=”helloworld!”string.sub(str,1,string.len(str)-1)–hellowordstring.sub(str,起始位置,整个字符串的长度)–获取指定位置长度的字符串string.len(目标字符串)–获取字符串的长度

    2022年10月6日
    0
  • ajax实训总结_培训日记

    ajax实训总结_培训日记今天由梁言兵老师为大家讲解ajax,他首先介绍了什么是web2.0及web2.0的应用。ajax框架:客户端框架:DOJO,bindows,Rico服务器端框架:DWR,JSON,buffalo基础库:prototype.js这次讲解的是buffalo框架。buffalo要通过一个注册文件注册Bean对象,buffalo配置文件中的配置项是“对象实例名=完全限定类名”。客户端代码:varEN…

    2022年9月12日
    0
  • VAP简单解读_vip是什么意思

    VAP简单解读_vip是什么意思https://cloud.tencent.com/developer/article/1693852特点:1.先前市面已有开源方案,并非先例2.kotlin语言3.代码量较小,很快就能理解大致逻辑4.需要使用ffmpeg工具进行动画视频的二次处理基本原理:输入mp4文件->MediaExtractor->音频->AudioTrack->视频->Surface…

    2022年10月23日
    0
  • task scheduler什么意思_task scheduler异常

    task scheduler什么意思_task scheduler异常一直在网站上无偿使用大家提供的各种解决方案,实在是不好意思了,今天终于也开通博客,一方面记录下遇到的各种问题及解决方案,一方面给其他需要的朋友做个参考。使用TaskScheduler的时候,调整‘Runwhetheruserloggedonornot’的时候,遇到下面的报错,“”

    2022年10月11日
    0
  • redis主从复制和集群的区别_redis主从复制和redis集群的区别

    redis主从复制和集群的区别_redis主从复制和redis集群的区别Redis主从复制和集群配置    redis主从复制概述1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。2、

    2022年8月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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