资讯动态

力扣HOT100[特殊字符]零基础刷题与解析 1.两数之和

发布时间:2026/9/3 8:25:38 来源:尧图企业网站定制
一、题目二、解题思路遍历数组用字典记录数值对应的索引对当前数字num计算需要配对的数target - num如果配对数已经存在字典中直接返回两个下标不存在就把当前数字和下标存入字典1、完整代码class Solution(object): def twoSum(self, nums, target): :type nums: List[int] :type target: int :rtype: List[int] hash_map {} for idx, num in enumerate(nums): another target - num if another in hash_map: return [hash_map[another], idx] hash_map[num] idx return []2.逐行代码解释# 定义类 SolutionLeetCode 固定模板要求 class Solution(object): # 定义方法 twoSumself 代表类实例接收两个参数 nums数组、target目标和 def twoSum(self, nums, target): :type nums: List[int] # 注释nums 是整数列表 :type target: int # 注释target 是整数 :rtype: List[int] # 注释函数返回整数列表两个下标 # 创建空字典 hash_map作用存储「数组数字:对应下标」用来快速查找 hash_map {} # enumerate 同时遍历下标idx和对应数值num逐个取数组元素 for idx, num in enumerate(nums): # 计算配对需要的另一个数目标和 - 当前数字 another target - num # 判断需要的另一半数字是否已经存在字典里也就是前面遍历过 if another in hash_map: # 存在就直接返回 [另一半数字的下标, 当前数字下标] return [hash_map[another], idx] # 另一半不存在把当前数字和它的下标存入字典供后面数字匹配 hash_map[num] idx # 题目说明输入一定存在唯一解代码永远走不到这里兜底返回空列表 return []3、逐行代码解析(零基础比较详细)class Solution(object):classPython 关键字用来创建一个类可以理解为一个代码盒子专门装解题函数Solution自定义类的名字LeetCode 强制规定必须叫这个不能改(object)代表这个类继承 Python 最基础的通用对象Python2/3 刷题模板固定写法照抄就行:冒号只要写 class、def、for、if末尾必须加冒号代表下面缩进的代码都属于这个类def twoSum(self, nums, target):def关键字定义函数 / 方法twoSum函数名题目固定函数名不能修改括号里三个参数self类方法必备第一个参数代表这个类自己LeetCode 模板强制要写固定放第一位nums外部传进来的参数是输入的数字数组比如[2,7,11,15]target外部传进来的目标数字比如9:冒号下面缩进代码都属于这个函数 :type nums: List[int] :type target: int :rtype: List[int] 内容 多行字符串注释不执行只给人看:type nums: List[int]说明参数 nums 是整数列表:type target: int说明参数 target 是整数:rtype: List[int]说明这个函数最后要返回一个整数列表两个下标hash_map {}hash_map自定义变量名随便取名这里用字典存数字和下标赋值符号把右边东西放进左边变量{}空字典字典格式{键:值}我们这里存数字:下标示例{2:0}代表数字 2 出现在下标 0 的位置for idx, num in enumerate(nums):for循环关键字挨个取出数组里每一个元素enumerate()Python 内置函数专门同时取出下标 对应数字例nums[2,7]enumerate 会依次拿出 (0,2)、(1,7)idx, num一次性接收 enumerate 给的两个值idx当前数字的下标0、1、2...num当前遍历到的数字in关键字代表遍历 nums 里面每一个内容:冒号下一行缩进代码属于循环体another target - numtarget - num数学减法算出我们需要找的另一个数字例target9当前 num2another7another变量保存需要配对的数字if another in hash_map:if判断关键字满足条件就执行下面缩进代码another in hash_map判断语句in检查左边的数字是不是字典里已经存过前面循环见过这个数:冒号下一行缩进代码是 if 成立时执行的内容return [hash_map[another], idx]return关键字直接结束整个函数把后面的数据返回出去[]列表存放两个下标题目要求返回列表格式hash_map[another]字典取值语法字典[键]取出 another 对应的下标idx当前循环数字的下标hash_map[num] idx字典赋值语法字典[键] 值把当前数字 num 作为键下标 idx 作为值存入字典顺序很关键先判断、再存入避免同一个数字自己和自己配对return []循环全部走完还没找到就返回空列表[]题目保证一定存在解这行代码永远不会运行只是兜底

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价