首页 > 编程语言 >LeetCode-Top100:两数之和(python)

LeetCode-Top100:两数之和(python)

时间:2023-04-16 21:46:08浏览次数:42  
标签:target nums python 元素 dic num 数组 Top100 两数

 

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

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

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

 

示例 1:

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

示例 2:

输入:nums = [3,2,4], target = 6
输出:[1,2]

示例 3:

输入:nums = [3,3], target = 6
输出:[0,1]

  

提示:

  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • 只会存在一个有效答案

 

以下是Python的程序实现:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        dic = {}
        for i, num in enumerate(nums):
            if target - num in dic:
                return [dic[target - num], i]
            dic[num] = i

解释:

此问题可以通过使用哈希表进行求解。我们可以创建一个字典,其中键是数组元素的值,值是数组元素的索引。我们遍历整个数组,并检查每个元素所对应的目标元素(target - num)是否已经在字典中。如果目标元素存在于字典中,则返回其索引和当前元素的索引。

时间复杂度:O(n)。我们只需遍历一次列表中的n个元素。在表中进行的每个查找都仅需O(1)的时间。

空间复杂度:O(n)。由于哈希表需要存储n个元素,因此需要额外的空间。

  

 

标签:target,nums,python,元素,dic,num,数组,Top100,两数
From: https://www.cnblogs.com/huadongw/p/17324171.html

相关文章

  • 生产运作——多机调度问题(Python)
    多机调度问题是生产管理与控制的一个基本问题。按照加工设备数量和加工作业的流云方式,一般可分为单机调度、并行机调度、Flowshop调度、可重入式调度和Jobshop调度会多种类型。作业调度中的许多问题,不仅具有随机性、约束复杂、规模大及多目标冲突等点,而且许多都属于NP完全问题,即使......
  • python中的魔术方法
    魔法方法(MagicMethod)是python内置方法,格式为:“__方法名__”,不需要主动调用,存在的目的是为了给python的解释器进行调用,几乎每个魔法方法都有一个对应的内置函数,或者运算符,当我们对这个对象使用这些函数或者运算符时就会调用类中的对应魔法方法,可以理解为重写这些python的内置函......
  • python 音频处理
    1.音频波形图可视化   可以看到运行的收已经可以从mic中获取数据了    有点奇怪 不知都是不是声卡驱动问题......
  • python中如何对程序运行时长进行计时?
      在python中对程序运行的是时长进行计时这里主要介绍两种方式:自定义和TimePinner。1、自定义计时  自定义计时,我们这里只需要简单记录开始时间和结束时间,计算出时差进行打印。  首先导入datetime库importdatetime  记录开始时间和结束时间#开始时间start_time......
  • python程序中如何结束程序的运行?
    结束程序运行主要的方式有四种:sys.exit()threading.Thread._stop()os._exit()os.kill(os.getpid(),signal.SIGTERM)1、单线程或单进程结束程序。(1)sys.exit()  sys.exit()指令可以直接结束整个Python程序的运行,包括所有线程。(2)threading.Thread._stop()  threading......
  • [oeasy]python0135_python_语义分析_ast_抽象语法树_abstract_syntax_tree
    语义分析_抽象语法树_反汇编回忆上次回顾了一下历史python是如何从无到有的看到Guido长期的坚持和努力python究竟是如何理解print("hello")的?这些ascii字母如何被组织起来执行?纯文本首先编写Guido的简历print("1982------Guidoincwi")print("1995------Guidoincnri")pri......
  • python安装配置
    Python简介Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python是一种解释型语言:这意味着开发过程中没有了编译这个环节......
  • [oeasy]python0135_python_语义分析_ast_抽象语法树_abstract_syntax_tree
    语义分析_抽象语法树_反汇编回忆上次回顾了一下历史python是如何从无到有的看到Guido长期的坚持和努力 ​ 添加图片注释,不超过140字(可选) python究竟是如何理解print("hello")的?这些ascii字母如何被组织起来执行? ......
  • 使用Python代码远程连接服务器
    目录一、paramiko模块的介绍二、基本使用(用户名密码登录)三、用公钥私钥连接一、paramiko模块的介绍模块介绍使用Python的第三方模块paramiko实现远程连接服务器功能:通过python代码连接服务器并执行相关操作并且支持用户名密码连接和公钥私钥连接模块安装pipinstall......
  • PYTHON 读STATA
    #导入stata_setup模块frompandasimportjson_normalizeimportpandasaspdimportstata_setup,json#通过stata_setup.config关联Stata17stata_setup.config(r"D:\Stata17","mp")#填入Stata17的本地路径及版本类型frompystataimportstata#stata.run(r&......