leetcode刷题之旅—1. 两数之和

Python index()的实战妙用 Python index实战妙用Python index()的实战妙用原题(Leetcode 1365)详细解法Solution#1 解法一:Solution#2 解法二(index妙用): Python index()的实战妙用 index() 用于查找List中指定元素的位置,如下: List = [1,2,3,4] Index = List.index(3) print(Index) #2,序号从0开始,得出3在2号位(第三个) 原题(Leetcode 1365) 给你一个数组 nums,对于其中每 阅读详情

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

示例:

给定 nums = [2, 7, 11, 15], target = 9

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum

题解:

class Solution:
    def twoSum(self, nums, target) :
        d = {}
        n = len(nums)
        for x in range(n):
            if target - nums[x] in d:
                return d[target - nums[x]],x
            else:
                 d[nums[x]] = x

经典答案:
暴力破解
用两层循环进行解题,不过提交结果后提示 “超出时间限制”,这里就不做讲解。

用 Python 中 list 的相关函数求解
方法一:
解题关键主要是想找到 num2 = target - num1,是否也在 list 中,那么就需要运用以下两个方法:

num2 in nums,返回 True 说明有戏
nums.index(num2),查找 num2 的索引

def twoSum(nums, target):
    lens = len(nums)
    j=-1
    for i in range(lens):
        if (target - nums[i]) in nums:
            if (nums.count(target - nums[i]) == 1)&(target - nums[i] == nums[i]):#如果num2=num1,且nums中只出现了一次,说明找到是num1本身。
                continue
            else:
                j = nums.index(target - nums[i],i+1) #index(x,i+1)是从num1后的序列后找num2                
                break
    if j>0:
        return [i,j]
    else:
        return []


法二:
解题思路是在方法一的基础上,优化解法。想着,num2 的查找并不需要每次从 nums 查找一遍,只需要从 num1 位置之前或之后查找即可。但为了方便 index 这里选择从 num1 位置之前查找:

def twoSum(nums, target):
    lens = len(nums)
    j=-1
    for i in range(1,lens):
        temp = nums[:i]
        if (target - nums[i]) in temp:
            j = temp.index(target - nums[i])
            break
    if j>=0:
        return [j,i]


两数之和(通过值找下标,找到值所对应的两个数的索引) 题目:给定一个整数数组nums和一个目标值target,请你在该数组中找到和为目标值的两个整数,并返回他们的下标值。(你可以假设每种输入只对应一个答案,但是你不能重复利用这个数组中同样的元素) 示例: 给定nums[] = [2,7,11,15] target = 9 因为nums[0] + nums[1] = 3,所以返回[0,1] 菜鸟方法,暴力破解: 第一种方法: 此方法用时较长切不推荐,... 阅读详情

相关推荐

力扣(Leetcode)第1题:两数之和(C语言版本)

题目: 给定一个整数数组 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

qq_39855356的博客 3313

python中常用的函数

index函数 num = ['one', 'two', 'three', 'four', 'five'] try:     k=num.index('one')     print k except ValueError:     print 'error' 我们发现列表的index()函数返回的是该元素在列表中的位置。但是,如果找不到,我们可以使用try-except

bigfacesafdasgfewgf 907

力扣1. 两数之和——《解题者:力扣解题之路》

前言:不同于某些OJ,力扣第一题对初学者不是很友好,初次看到它,可能一时想不到思路——但须知万事开头难,走出第一步,即相当于成功一半—— 而:我将为你认认真真地解开它ヾ(◍°∇°◍)ノ゙ ...

01解题者~博客 4224

6-2、选择器

选择器

鸵鸟 1114

架构设计之架构治理

架构治理的本质是“用规则约束复杂性,用流程保障落地,用数据驱动优化”先定目标:明确量化的治理目标,避免盲目行动;立标准:建立覆盖分层、选型、接口、拆分的统一规范,奠定治理基础;强评审:通过架构评审把控设计环节,提前规避风险;全流程:将治理规则贯穿设计、开发、测试、部署、运维全生命周期;重保障:通过组织、流程、工具确保治理落地,而非“纸上谈兵”;持续迭代:随业务与技术演进优化治理规则,避免“一劳永逸”。

xiaolyuh的专栏 811

手把手教你用Arduino和开源电路DIY一个手机连接的电化学传感器(附GitHub源码)

本文详细介绍了如何利用Arduino和开源电路DIY一个手机连接的电化学传感器,成本不到300元即可复现价值数千元的专业设备。从硬件选型、电路搭建到固件开发和手机应用实现,手把手教你完成整个项目,特别适合科研人员、环境监测爱好者和理工科学生。附GitHub源码,方便快速上手和扩展功能。

weixin_42561040的博客 336

【每日一题】Python爬虫基础篇

挑战每日一道Python题,今天是......

qq_51325580的博客 168

别再死记硬背参数了!手把手教你用Fluent欧拉模型搞定流化床模拟(附颗粒粘度/体积分数设置详解)

本文深入解析Fluent欧拉模型在流化床模拟中的应用,重点讲解颗粒粘度和体积分数等关键参数的设置原理与科学方法。通过对比不同模型(如Syamlal-O'Brien、Gidaspow)的适用场景,帮助工程师摆脱参数死记硬背,实现精准模拟。内容涵盖相间作用机制、求解策略优化及结果验证,为化工、能源领域的流化床模拟提供实用指南。

weixin_42656416的博客 429

力扣刷题之旅——1.两数之和

接触到力扣的第一题就跪了?我们应该这么分析。

C语言入门 2143

ArduPilot简介

一,什么是ArduPilot? ArduPilot是一个可信的,多用途的,开源的自动驾驶系统。该系统支持了非常多的交通工具类型,包括多旋翼无人机,传统直升机,固定翼飞行器,船,潜艇,巡逻车等。源码由大型开发者社区的专家和爱好者共同开发和维护。也欢迎更多的开发者加入源码的迭代演进,最好的“打开”方式就是加入开发者团队论坛。该论坛对所有人开放,在这里可以深入感受到开发者们对ArduPilot的热爱。 论坛链接:ArduPilot Discourse 开发者指南:Welcome to the ArduPil

从0到1,突破自己 5455

SLAM Cartographer(18)后端优化问题求解器

了解经过闭环检测构建了子图与节点之间的约束之后,通过后端优化求解器进行优化求解。核心是基于Ceres库进行SPA(Sparse Pose Adjustment)的优化方法,把后端优化问题描述成为一个最小二乘的问题求解

氢键H-H 5680

学渣的刷题之旅 leetcode刷题 1.两数之和

c++实现 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> result; for(int i=0;i<nums.size();i++){ for(int...

qq_37767804的博客 253

手把手教你学simulink(8.2)--simulink的实战案例:信号分析

通过以上步骤,你已经成功使用 Simulink 对信号进行了频谱分析和时域分析,提取了信号的有用信息。这个案例展示了如何创建 Simulink 模型、添加和连接模块、设置仿真参数、运行仿真以及分析结果。希望这个案例能帮助你更好地理解和使用 Simulink 进行信号分析。

MHD0815的博客 1124

leetcode 刷题之旅-1.两数之和

题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 著作权归

qq_43525260的博客 151

【异常】Claude Code 在 Windows CMD 中出现重影现象的排查与解决

Windows CMD运行Claude Code时出现文字重影、乱码等问题,原因是传统CMD对现代ANSI终端控制序列支持不足。解决方案包括:1)推荐安装Windows Terminal(完全支持ANSI标准);2)使用PowerShell 7;3)优化CMD设置(启用虚拟终端、UTF-8编码);4)关闭Claude Code视觉特效。建议优先使用Windows Terminal以获得最佳体验,这是最彻底的解决方案。其他方案仅能部分改善或缓解问题。

奶爸的编程之路,也就一周冷个三天 1963

点云生成图像

摘要:本文介绍了使用Open3D库将点云投影为RGBD图像的方法。通过project_to_rgbd_image函数,利用小孔相机模型的内参和外参矩阵,实现了点云到彩色图像和深度图的转换。实验使用随机生成的10万个点云数据,通过可视化窗口获取相机参数后,成功生成了对应的RGB图像和深度图像,并使用Matplotlib进行可视化展示。该方法为点云数据处理提供了有效的三维到二维投影方案。

夜空中明亮的星的专栏 134

Leetcode刷题之旅--1.两数之和

题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 本人解法(Java): class Solution { public int[] twoSum(int[] nums, i

weixin_45129136的博客 164

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

LeetCode刷题之旅(简单-1):两数之和

2019年4月28日 目录 题目两数之和 解决 1)第一种方法:循环嵌套 2)第二种方法:(性能完善) 3)其他高级优化:(算法优化) 题目:两数之和 class Solution { public int[] twoSum(int[] nums, int target) { } } 解决 1)第一种方法:循环嵌套 package l...

Diligence is the mother of success. 266

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

leetcode刷题之旅简单篇(1)两数之和

题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 参考答案 cla...

qq_43128219的博客 111

leetcode刷题之旅(1)两数之和

题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。   样例 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]   思路分析 java版本的思路:利用hashmap遍历数组,key存...

sun10081的博客 225

力扣第一题:两数之和

JAVA重学刷题旅程欢迎来到我的JAVA学习之旅JAVA学习原因力扣第一题,请听题如何改变文本的样式代码及思路、错误代码思路生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎来到我的JAVA学习之旅 毕竟这是我第一...

Zero_HWA的博客 6695

【刷题】leetcode 1 . 两数之和

首先选定 加数1 然后寻找 加数2 ,如果两者之和满足条件 target。但是看看运算时间,居然这么慢!确实咱们的算法时间复杂度是O(n^2),不够快速。才打败了 69% 的用户。我们不能满足当下,让我们思考有没有其他思路。这下子打败了98%的用户。我们从 120 ms 一下子来到 8 ms。那么问题来到为什么还有 2% 比我们快?来看大佬 C++ 的代码,真的非常美观!下面给大家看一下大佬的 0 ms 的代码。C语言的缺陷 , 需要手撕哈希表。我看了大佬们的代码,使用到了。

叫我龙翔的博客 3126

力扣最热一百题——1.两数之和

力扣最热一百题——两数之和两种解法详解。哈希表的介绍。新手也能学会!!!

WenJGo的博客 2040

【leetcode】Java 力扣第一题(两数之和)简单

废话不多说,直接上干货 Leetcode每日一题 2021/10/18开启,有的人夜里去看海,有的人力扣第一题就做不出来 犹记得那次在刘老师强推下开了力扣的刷题之旅, 用打开力扣APP 第一题,选择简单模式,轻车熟路,啧啧啧 给定一个整数数组nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 这不...

m0_56164356的博客 2627

LeetCode刷题指南

力扣,作为一个国内外的程序员都用作准备面试的刷题网站,对想要阅读这篇指南的你应该都不陌生。当你想要借助力扣刷题,提升代码能力、在面试中脱颖而出,却不知从何入手,这篇文章可以作为你的入门指南。

airhaohan 的博客 8990

力扣LeetCode刷题C++ 两数之和 两数相加

这段代码的核心是 “逐步构建链表”:从无到有创建头节点,之后每计算出一位结果,就往链表末尾加一个新节点,同时让指针p始终保持在末尾,为下一次追加做准备。这样就能把所有计算结果串联成一个完整的链表。

weixin_73793168的博客 1090
上一篇: leetcode数据库刷题之旅—(数据库)176. 第二高的薪水
下一篇: LeetCode刷题之旅——(数据库)175. 组合两个表
boyames
博客等级 码龄8年 80粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值