小白学习-Leetcode01

Leetcode-01.两数之和

题目

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

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

大佬的思路

  • 用字典模拟哈希求解(简单明了)
    用字典记录num1和num2值和位置
def twoSum(nums, target):
    hashmap={}
    for ind,num in enumerate(nums):     #索引nums的key和value
        hashmap[num] = ind
    for i,num in enumerate(nums):
        j = hashmap.get(target - num)
        if j is not None and i!=j:      #差值存在并且不能是它本身
            return [i,j]
  • 补充
    enumerate() :在字典中是枚举,列举的意思;对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值;enumerate多用于在for循环中得到计数

其他

“题目” 标签来自leetcode,侵权请联系我进行删改
代码出处:https://leetcode-cn.com/problems/two-sum/solution/xiao-bai-pythonji-chong-jie-fa-by-lao-la-rou-yue-j/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
新手小白想要系统学习Python,可以按照以下步骤来进行: 1. **入门基础**: - **安装Python**:首先从官网下载Python(https://www.python.org/downloads/)并安装最新版本。 - **选择教程**:推荐初学者使用《Python Crash Course》、官方文档或Codecademy等在线平台的免费教程。 2. **语法学习**: - **理解基础语法**:开始学习变量、数据类型、运算符、控制流(如if/else、for循环、while循环)等基本知识。 - **函数和模块**:了解如何定义和调用函数,以及导入和使用内置模块和第三方库。 3. **实践练习**: - **编写小项目**:通过做简单的数学游戏、文本处理或Web爬虫等小项目来应用所学知识。 - **参与 coding 练习**:利用LeetCode、HackerRank等网站刷题锻炼编程能力。 4. **进阶学习**: - **面向对象编程**:学习类、对象、继承和多态等面向对象特性。 - **数据分析和科学计算**:熟悉NumPy、Pandas和Matplotlib等数据处理库,学习如何进行数据分析。 5. **学习资料**: - **书籍**:如《Python Cookbook》、《Python for Data Analysis》等专业书籍。 - **视频教程**:YouTube上有很多优质的Python教学频道,如Corey Schafer的频道。 6. **社区互动**: - 加入GitHub、Stack Overflow等开发者社区,提问和解决问题,获取他人的经验和建议。 记得边学边练,理论结合实践是提升技能的关键。最后,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值