博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] 1. Two Sum 两数之和
阅读量:5131 次
发布时间:2019-06-13

本文共 1020 字,大约阅读时间需要 3 分钟。

2019年5月25日   开始了我的刷题之路,此笔记记录刷题流程

[LeetCode] 1. Two Sum 两数之和

 
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1]
 
 
思路:遍历一次,遍历过程中建立字典,和减法,除法都有对称性,如果在列表中找到了目标1,根据 sum = a + b  那么后面必然还会找到一个目标2 , 
 
Python 代码:
1 class Solution: 2     def twoSum(self, nums: List[int], target: int) -> List[int]: 3         if nums == []: 4             return None 5         seen = {} 6          7         for index,value in enumerate(nums): 8             x = target - value 9             if x in seen:10                 return [seen[x],index]11             else:12                 seen[value] = index13 14 15 #EG: target = 7 16 #      list = [1,2,3,4,5,]17 18 #如果a能成功,b不在字典里,但是列表里的确有b ,不要慌,这时把a放到字典里,减法有对称性,扫描到b的时候必然能成功找到 a 在字典里,返回两个下标

 

 

转载于:https://www.cnblogs.com/Poceer/p/10922779.html

你可能感兴趣的文章
Java RMI VS TCP Socket
查看>>
python函数式编程之返回函数、匿名函数、装饰器、偏函数学习
查看>>
你必须知道的28个HTML5特征、窍门和技术
查看>>
Obj文件分析与读取
查看>>
算法之旅 | 冒泡排序法
查看>>
JavaScript学习二-----JS对象一
查看>>
socket
查看>>
docker 运行镜像
查看>>
C&C++ recap
查看>>
LeetCode -- Integer to Roman
查看>>
Cowboy 源码分析(八)
查看>>
一次数据运维的PL/SQL脚本
查看>>
C# 线程手册 第一章 线程定义 线程
查看>>
ELK多种架构及优劣
查看>>
思达报表工具Style Report基础教程—公式表
查看>>
sqlcmd相关
查看>>
[HAOI2016]字符合并
查看>>
2、Angular2 Directive
查看>>
Editable DataGrid
查看>>
mysql单引号和双引号的用法
查看>>