1 题目描述

2 解题思路

2.1 方法1 暴力枚举

class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:n = len(nums)for i in range(n):for j in range(i + 1, n):if nums[i] + nums[j] == target:return [i, j]return None

2.2 方法2 用index函数

这种方法一开始在([3,2,4],6)这个测试样例出现了一些的问题。这里出问题的原因是,一开始我没有判断列表里面的元素的两倍是target的情况【以这个测试样例为例,其实是没有输出的,但是因为i=0的时候,index也是0,所以它会返回(0,0)】。所以需要特判一下(遇到target/2的数的时候,如果i等于index,那么继续遍历,直到看到第二个target/2的数,那么那个数的i和index可以组合成为要返回的东西)。

当我们现在的数和我们要找的数下标是一样的,那么就继续往后面找(因为list.index永远找到的是第一个位置,所以当出现[3,2,3],6的时候,第一次就不会显示,第二次才会)

class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for i in range(len(nums)):x=nums[i]y=target-xif(y in nums):if(i==nums.index(y)):continueelse:return [i,nums.index(y)]return None

2.3 方法3 :哈希表

我们从头遍历一个数组,如果target-当前遍历到的元素的值 正好在这个哈希表里面,那么返回哈希表里面存储的下标和当前下标;否则,将当前元素值,及对应的下标存入哈希表中。

class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:dit={}for i in range(len(nums)):if(target-nums[i] in dit):return([dit[target-nums[i]],i])else:dit[nums[i]]=ireturn(None)

文巾解题 1. 两数之和相关推荐

  1. 文巾解题 167. 两数之和 II - 输入有序数组

    1 题目描述 2 解题思路 :双指针 设置一堆双指针,左指针一开始指向序列首位,右指针一开始指向序列末尾 每次比较两个指针指向的值,如果等于target,返回:如果大于target,说明当前两个值的和 ...

  2. 文巾解题 15. 三数之和

    1 题目描述 2 解题思路 2.1 使用两数之和函数 这种做法目前超时了,如果大家有想到合适的减时间/剪枝的方法,欢迎私信or评论~ 两数之和的方法见文巾解题 1. 两数之和_刘文巾的博客-CSDN博 ...

  3. 文巾解题 2. 两数相加

    1 题目描述 2 解题思路 进位符+哨兵节点 繁琐版本的代码 # Definition for singly-linked list. # class ListNode: # def __init__ ...

  4. 文巾解题 264. 丑数 II (剑指 Offer 49. 丑数)

    1 题目描述 2 解题方法 方法1:最小堆储存数组 同时设置一个集合存放我们已经考虑过的数,每看到一个丑数n,把2n,3n,5n放入这个最小堆. class Solution:def nthUglyN ...

  5. 文巾解题 16. 最接近的三数之和

    1 题目描述 2 解题思路:排序+双指针 大体上思路和文巾解题 15. 三数之和_刘文巾的博客-CSDN博客是一样的 我们对整个数组进行升序排序.然后: 1)假设数组的长度为 n,我们先枚举 a,它在 ...

  6. leetcode 两数之和 整数反转 回文数 罗马数字转整数

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

  7. 文巾解题 477. 汉明距离总和

    1 题目描述 2 解题思路 2.1 暴力两两比较 两个数字之间的汉明距离可以使用 文巾解题 461. 汉明距离_刘文巾的博客-CSDN博客 中的任何一种方法,但是因为这个是两两比较,时间复杂度比较高, ...

  8. 文巾解题 1035. 不相交的线

    1 题目描述 2 解题思路 k条互不相交的直线分别连接了数组 nums1和nums2的 k 对相等的元素,而且这 k 对相等的元素在两个数组中的相对顺序是一致的,因此,这 k 对相等的元素组成的序列即 ...

  9. java 1099_【LeetCode(Java) - 1099】小于 K 的两数之和

    [LeetCode(Java) - 1099]小于 K 的两数之和 [LeetCode(Java) - 1099]小于 K 的两数之和 文章目录 1.题目描述 2.解题思路 3.解题代码 1.题目描述 ...

最新文章

  1. 史上最详细的微生物扩增子数据库整理
  2. maven构建本地jar包到本地仓库
  3. ALEIDoc EDI(7)--IDoc Extension
  4. 【考研保研直通车】C9高校考研真题
  5. flume案例-文件数据采集-步骤分析
  6. SQLServer中批量插入数据方式的性能对比 (转)
  7. 安卓平板外接摄像头_华为?小米?千元安卓平板如何选择?
  8. 不止 Java,Oracle 向 JavaScript 开炮!
  9. HDU 2895 贪心 还是 大水题
  10. 论Web App、Hybrid App、Native App三类主流APP设计差异
  11. i.mx536 linux视频录制,linux mint 18.3下录制网站上的视频与声音的软件 vokoscreen 安装与使用...
  12. SILK 和 ISAC 对 丢包的容错(接上一个保密文章)
  13. win10系统怎么查看密钥?
  14. 第35讲:Xposed+模拟器的详细使用
  15. STM32开发必备知识篇:STM32的运行机制
  16. 安卓开发 高德地图 marker 点击移动位置_高德地图AR导航功能上线 ~
  17. 七步教你从0到1创建客户服务团队
  18. C# WinForm 工作流设计 工作流程图拖拽设计 +GDI 绘制工作流程图
  19. mysql汉化-workbench汉化-xml文件
  20. 如何合理的定义用户流失——流失多少天算流失

热门文章

  1. WEB项目 后台接收前端数组
  2. 第三十八讲:tapestry Ajax 关联下拉选框(select)组件
  3. 枚举的遍历和字符串转枚举,枚举转字符串
  4. Windows Live Messenger 8.5 抢先试用
  5. Epox 8RDA3G主板奇怪的问题
  6. CMD命令行接收用户输入信息
  7. Leetcode215数组中第k大的数-最小堆
  8. mysql主程序目录_MySQL™ 参考手册(目录)
  9. linux redis 3.0.7,linux虚拟机上安装配置redis3.0.7
  10. java 提供的排序方法_请给出java几种排序方法