题目描述

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
样例

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

想法一: 两重循环,但是时间复杂度高
想法二: 遍历nums,得到每个target-nums[i],然后在nums中找是否存在这个值,时间复杂度当然比一好,但不是最好

class Solution:def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""one=0success=Falsefor i in nums:tag = target-iif tag in nums:two = nums.index(tag)if two!=one:success = Truebreakone += 1if success is True:return one, two

想法三: 在查询资料后,得到了这种思想,遍历的时候,把该数的另一半放入字典,然后每次遍历的时候判断该数是否在字典中,即可完成该题

class Solution:def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""# 获取nums长度n = len(nums)# 创建索引字典d = {}# 遍历nums,每一次将与遍历数符合的数存入字典for i in range(n):# 得到符合的数sb = target - nums[i]if nums[i] in d.keys():# 如果存在,说明可以组成组合return d[nums[i]], ielse:# 不存在,加入d[sb] = i

最后

刷过的LeetCode源码放在Github上了,希望喜欢或者觉得有用的朋友点个star或者follow。
有任何问题可以在下面评论或者通过私信或联系方式找我。
联系方式
QQ:791034063
Wechat:liuyuhang791034063
CSDN:https://blog.csdn.net/Sun_White_Boy
Github:https://github.com/liuyuhang791034063

转载于:https://www.cnblogs.com/GF66/p/9785473.html

LeetCode 1 两数之和 python相关推荐

  1. [leetcode]1.两数之和

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

  2. [hashmap|空间换时间] leetcode 1 两数之和

    [hashmap|空间换时间] leetcode 1 两数之和 1.题目 题目链接 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下 ...

  3. C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组

    C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在 ...

  4. LeetCode 1. 两数之和

    LeetCode 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入 ...

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

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

  6. 【前端来刷LeetCode】两数之和与两数相加

    大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...

  7. leetCode:twoSum 两数之和 【JAVA实现】

    LeetCode 两数之和 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标. 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素. 更多文章查看个人博客 个人博客地址:t ...

  8. 力扣(leetcode)-1. 两数之和

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

  9. LeetCode 01两数之和02两数相加

    力扣 LeetCode01两数之和 LeetCode02两数之加 前言:第一次LeetCode打卡题解,前面组织的打卡活动从今天开始正式开始了,很多csdn和公众号小伙伴以及加入了,欢迎加入!详细看力 ...

  10. 【LeetCode】两数之和

    package leetcode.editor.cn;//给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. // // 你可 ...

最新文章

  1. 伍六七带你学算法 入门篇-最小的k个数
  2. 时时监控的rtsp流视频显示在前端与一些css;
  3. Apple 的CEO 吹响了战斗的号角啦!
  4. 连载:阿里巴巴大数据实践—数据开发平台
  5. java视频教程不同阶段看哪些
  6. 南科大计算机系实力a,五大竞赛学科A+高校排行榜发布!北大实力碾压,科大赶超清华...
  7. 设计模式(五)行为型模式
  8. [整理]CHttpConnection的使用
  9. 《javascript高级程序设计》读书笔记——作用域
  10. php 日期函数大全,php日期函数
  11. 苹果电脑安装计算机一级,苹果电脑安装Win10系统的详细步骤
  12. 安排,Java智慧农业物联网项目视频2020
  13. delphi10 ftp文件名乱码问题
  14. cherry 键盘失灵记录
  15. 大型网站技术架构:核心原理与案例分析
  16. android 获取经纬度(百度地图)
  17. 【读书笔记《凤凰架构》- 构架可靠的大型分布式系统.周志明】(一)
  18. Linux命令行修改配置(待续)
  19. Android 多语言支持
  20. 广告业务系统 之 辅助决策 —— “ AB 实验平台”

热门文章

  1. Cuiwei Li / Detection of ECG characteristic points using wavelet transforms
  2. 解析字符串获取路径_node学习--path 路径模块
  3. python性能解决的事_Python程序的性能分析方法
  4. ORACLE数据库测试题(一)
  5. java 鼠标拖拽_JavaScript DOM 鼠标拖拽
  6. azure kinect三维点云_三维重建技术,你捋清楚了吗?本文适合小白
  7. 【神经网络与深度学习摘要】第1章 绪论
  8. PAT (Basic Level) Practice1016 部分A+B
  9. bzoj 3674 可持久化并查集加强版——可持久化并查集
  10. 一小时精通SVN版本控制 之五 团队协作开发