leetcode 两数之和 python
2023-09-27 14:28:47 时间
两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
二层循环很容易解决。
为了优化时间 考虑使用哈希, 每次遍历把元素的位置存到哈希当中。
遍历nums, 对每个元素cur检查target - cur是否在哈希当中, 在就返回位置,否则把cur存到哈希,向下遍历
class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
dic = {} # 开一个哈希表
for i in range(len(nums)):
if target - nums[i] in dic: # 如果另一个数之前遍历过 在哈系里 就返回
return [dic[target-nums[i]], i]
dic[nums[i]] = i # 把当前这个数和位置放入哈希
相关文章
- Python pip参数(精)
- python怎么用?如何入门python
- python模块 multiprocess 多进程
- CSDN博客第一期订阅专栏:跟“风云卫星”数据工程师学Python
- gyp ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- 【python】leetcode-752. 打开转盘锁
- 【python】leetcode 704. 二分查找
- python -编译型语言和解释型语言-内建函数-编码风格
- 几种归一化方法的概念及python实现
- 单词搜素 python
- python学习之数据分析和图表的应用(第一部分)
- pip install --user 使用方法和注意事项——python中安装module库到用户packages路径中
- python之tkinter使用-二级菜单
- 66、【链表】leetcode——142. 环形链表 II(C++、Python版本)
- 60、【数组】leetcode——209. 长度最小的子数组-滑动窗口:最小窗口(C++、Python版本)
- 15. python爬虫——scrapy框架五大核心组件
- Python学习---IO模型1227
- [leetcode] Insertion Sort List(python)
- 【leetcode】3: 无重复字串的最长子串(python)
- 【Leetcode】101:对称二叉树(Python)