两数之和

给定一个整数数组 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
只会存在一个有效答案
进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?

题解:时间复杂度小于O(n2)

class Solution:"""思路及算法注意到方法一的时间复杂度较高的原因是寻找 target - x 的时间复杂度过高。因此,我们需要一种更优秀的方法,能够快速寻找数组中是否存在目标元素。如果存在,我们需要找出它的索引。使用哈希表,可以将寻找 target - x 的时间复杂度降低到从 O(N)O(N) 降低到 O(1)O(1)。这样我们创建一个哈希表,对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。"""def twoSum(self, nums: List[int], target: int) -> List[int]:hash_dict = dict()for index, val in enumerate(nums):if target-val not in hash_dict:hash_dict[val] = indexelse:return [index, hash_dict[target-val]]

python两数之和(hash 表)相关推荐

  1. Two Sum (两数之和) - Hash Table (哈希表)

    Two Sum (两数之和) - Hash Table (哈希表) https://leetcode-cn.com/problems/two-sum/ Given an array of intege ...

  2. Python - 两数之和

    给定列表a和一个目标值target,求列表中两数之和为target的值的索引: a = [1,5,6,8,9,4,5,6,3,2,1,7,5,6,9,8,4,5,6,2,1,0,1,2,0,1,2,5 ...

  3. Python两数之和,并返回下标

    题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 例如: 给定 nums = [2, 7, 11, 15], targ ...

  4. python 两数之和

    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标.你可以假设每种输入只会对应一个答案.但是,数组中同一个 ...

  5. 算法训练Day6 | LeetCode:242. 有效的字母异位词(数组作哈希表);349. 两个数组的交集(Set作哈希表);202.快乐数 (Set作哈希表);1. 两数之和(Map作哈希表)

    目录 LeetCode242. 有效的字母异位词 方法:数组作哈希表 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 Leetcode349. 两个数组的交集 方法一:用Set作HashMa ...

  6. Leetcode 1. 两数之和 (Python版)

    有粉丝说我一个学算法的不去做Leetcode是不是浪费,于是今天闲来没事想尝试一下Leetcode,结果果断翻车,第一题没看懂,一直当我看到所有答案的开头都一样的时候,我意识到了我是个铁憨憨,人家是让 ...

  7. Python方法解决两数之和(适合初学者)

    Python方法两数之和–两种方案 今天在写这个算法的时候,遇到了在pycham上面可以进行运行,但是在力扣上不能运行,搞了好久,不去想了,我所写的算法分析,非常适合刚刚入门的学习算法的同学,下面是两 ...

  8. 用Python实现两数之和(python)

    用Python实现两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不 ...

  9. 【算法】哈希表 ( 两数之和 )

    算法 系列博客 [算法]刷题范围建议 和 代码规范 [算法]复杂度理论 ( 时间复杂度 ) [字符串]最长回文子串 ( 蛮力算法 ) [字符串]最长回文子串 ( 中心线枚举算法 ) [字符串]最长回文 ...

最新文章

  1. java 做登录跳转404_springboot 访问路径错误跳转到404(实现方法一)
  2. Error during job, obtaining debugging information... FAILED: Execution Error, return code 2 from org
  3. 校招小白机考入坑之从键盘输入java的各种数据类型
  4. javascript 的 ~ 操作符作用
  5. 成功跳槽百度工资从15K涨到28K,跳槽薪资翻倍
  6. 在K40小破卡训练50层BERT Large的宝藏trick
  7. Windows 下git 与 github 相关联
  8. DOM4J介绍与代码示例【转载】
  9. C++设计模式-Command命令模式
  10. Python基础学习2--字符串
  11. SpringBoot的自定义配置方法一,通过自定义配置文件
  12. win10 Abaqus2018 血泪备注
  13. 10G ocp 题库
  14. RPA机器人如何调用USB SERVER
  15. java随机产生long_java生成随机数
  16. zemax设置 像方远心_ZEMAX:如何翻转整个光学系统
  17. 问题:必须使用记录或另一备份以恢复包含系统注册表
  18. 10分钟教你用python做个打飞机(超详细超入门教程)附源代码下载
  19. JavaScript数组some方法
  20. ionic2入门教程(三)高仿网易公开课(1)

热门文章

  1. 40个亿非负整数中找到未出现的数
  2. 171. Excel Sheet Column Number
  3. R语言入门系列-软件下载,环境搭建,数据导入导出
  4. 还在埋头写论文?知网检索的这些小技巧让你有如神助!
  5. Java 应用线上问题排查思路、常用工具小结
  6. 如何利用弹幕,打造出非凡的观看体验
  7. BloomFilter——大规模数据处理利器
  8. 故障码123401_故障引导案例 | 宝马F18 ECM故障引导
  9. 样式文件修改后不起作用_Word样式,这个功能好用到让你忘不了!
  10. python数据结构的列表_Python数据结构之列表