文巾解题 1. 两数之和
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. 两数之和相关推荐
- 文巾解题 167. 两数之和 II - 输入有序数组
1 题目描述 2 解题思路 :双指针 设置一堆双指针,左指针一开始指向序列首位,右指针一开始指向序列末尾 每次比较两个指针指向的值,如果等于target,返回:如果大于target,说明当前两个值的和 ...
- 文巾解题 15. 三数之和
1 题目描述 2 解题思路 2.1 使用两数之和函数 这种做法目前超时了,如果大家有想到合适的减时间/剪枝的方法,欢迎私信or评论~ 两数之和的方法见文巾解题 1. 两数之和_刘文巾的博客-CSDN博 ...
- 文巾解题 2. 两数相加
1 题目描述 2 解题思路 进位符+哨兵节点 繁琐版本的代码 # Definition for singly-linked list. # class ListNode: # def __init__ ...
- 文巾解题 264. 丑数 II (剑指 Offer 49. 丑数)
1 题目描述 2 解题方法 方法1:最小堆储存数组 同时设置一个集合存放我们已经考虑过的数,每看到一个丑数n,把2n,3n,5n放入这个最小堆. class Solution:def nthUglyN ...
- 文巾解题 16. 最接近的三数之和
1 题目描述 2 解题思路:排序+双指针 大体上思路和文巾解题 15. 三数之和_刘文巾的博客-CSDN博客是一样的 我们对整个数组进行升序排序.然后: 1)假设数组的长度为 n,我们先枚举 a,它在 ...
- leetcode 两数之和 整数反转 回文数 罗马数字转整数
1.两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个 ...
- 文巾解题 477. 汉明距离总和
1 题目描述 2 解题思路 2.1 暴力两两比较 两个数字之间的汉明距离可以使用 文巾解题 461. 汉明距离_刘文巾的博客-CSDN博客 中的任何一种方法,但是因为这个是两两比较,时间复杂度比较高, ...
- 文巾解题 1035. 不相交的线
1 题目描述 2 解题思路 k条互不相交的直线分别连接了数组 nums1和nums2的 k 对相等的元素,而且这 k 对相等的元素在两个数组中的相对顺序是一致的,因此,这 k 对相等的元素组成的序列即 ...
- java 1099_【LeetCode(Java) - 1099】小于 K 的两数之和
[LeetCode(Java) - 1099]小于 K 的两数之和 [LeetCode(Java) - 1099]小于 K 的两数之和 文章目录 1.题目描述 2.解题思路 3.解题代码 1.题目描述 ...
最新文章
- 史上最详细的微生物扩增子数据库整理
- maven构建本地jar包到本地仓库
- ALEIDoc EDI(7)--IDoc Extension
- 【考研保研直通车】C9高校考研真题
- flume案例-文件数据采集-步骤分析
- SQLServer中批量插入数据方式的性能对比 (转)
- 安卓平板外接摄像头_华为?小米?千元安卓平板如何选择?
- 不止 Java,Oracle 向 JavaScript 开炮!
- HDU 2895 贪心 还是 大水题
- 论Web App、Hybrid App、Native App三类主流APP设计差异
- i.mx536 linux视频录制,linux mint 18.3下录制网站上的视频与声音的软件 vokoscreen 安装与使用...
- SILK 和 ISAC 对 丢包的容错(接上一个保密文章)
- win10系统怎么查看密钥?
- 第35讲:Xposed+模拟器的详细使用
- STM32开发必备知识篇:STM32的运行机制
- 安卓开发 高德地图 marker 点击移动位置_高德地图AR导航功能上线 ~
- 七步教你从0到1创建客户服务团队
- C# WinForm 工作流设计 工作流程图拖拽设计 +GDI 绘制工作流程图
- mysql汉化-workbench汉化-xml文件
- 如何合理的定义用户流失——流失多少天算流失
热门文章
- WEB项目 后台接收前端数组
- 第三十八讲:tapestry Ajax 关联下拉选框(select)组件
- 枚举的遍历和字符串转枚举,枚举转字符串
- Windows Live Messenger 8.5 抢先试用
- Epox 8RDA3G主板奇怪的问题
- CMD命令行接收用户输入信息
- Leetcode215数组中第k大的数-最小堆
- mysql主程序目录_MySQL™ 参考手册(目录)
- linux redis 3.0.7,linux虚拟机上安装配置redis3.0.7
- java 提供的排序方法_请给出java几种排序方法