Leetcode_01【两数之和】
文章目录:
- 题目
- 脚本一及注释
- 脚本逻辑
- 脚本二及注释
- 脚本逻辑
题目:
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
脚本一及步骤注释
class Solution: #定义一个名为Solution的类
def twoSum(self, nums: List[int], target: int) -> List[int]: #此处是leetcode给定的输出格式
zidian = {} #定义一个空字典
for i,j in enumerate(nums): #使用枚举的方法enumerate对列表nums的元素进行遍历,i为列表元素的索引号,j为索引号为i对应的列表元素
k = target - j #使用和值减去其中一个加数得到另一个加数
if k in zidian: #对字典的键进行遍历,查看是否有键的值为k
return(i,zidian.get(k)) #如果有键的值为k,则返回遍历列表当前元素的索引号及字典中键为k所对应的值
zidian[j] = i #如果没有在字典中找到键的值为k的情况,则把遍历列表的当前元素的元素值作为键,索引号为值 加入到字典中
result = Solution() #创建一个Solution的类
print(result.twoSum) #调用类中的方法,由于此方法会返回值,所以将值打印出来即可
【处理逻辑】
- 此脚本处理逻辑是生成一个新的数据记录处即字典,用于存储已经遍历的列表元素的索引号及元素值
- 由于列表遍历过程中是与字典进行遍历的,所以字典的键值是不会重复的
- 通俗来讲就是:一开始桶子是空的,不断拿数据与桶子里的数据进行比对,如果没有找到比对目标的值会放到桶子里,然后进行下一次的比对
脚本二及步骤注释
class Solution: #同上
def twoSum(self, nums: List[int], target: int) -> List[int]: #同上
for i in range(0,len(nums)): #从0到列表元素个数组成的数列进行遍历
aa = nums[i] #获取一个列表元素
bb = target - aa #求和值的另一个数值
for j in range(i+1,len(nums)): #对列表剩余元素进行不重复遍历
if bb == nums[j]: #如果存在与另一个数值相等的数
return(i,j) #返回两数的索引号
脚本逻辑
- 此脚本是使用逼近的思想,通俗来讲就是:用第一个数与列表中其余的值进行求和,查看是否与目标值一致
- 若一致,则求出两值得索引号即可
- 若不一致,丢弃第一个值,使用第二个值与剩余得值进行比较(不包括第一个值),直到遍历所有值或者遇到合适值为止
Leetcode_01【两数之和】的更多相关文章
- 给定数组A,大小为n,现给定数X,判断A中是否存在两数之和等于X
题目:给定数组A,大小为n,现给定数X,判断A中是否存在两数之和等于X 思路一: 1,先采用归并排序对这个数组排序, 2,然后寻找相邻<k,i>的两数之和sum,找到恰好sum>x的 ...
- LeetCode 170. Two Sum III - Data structure design (两数之和之三 - 数据结构设计)$
Design and implement a TwoSum class. It should support the following operations: add and find. add - ...
- LeetCode 371. Sum of Two Integers (两数之和)
Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -. Exam ...
- LeetCode 167. Two Sum II - Input array is sorted (两数之和之二 - 输入的是有序数组)
Given an array of integers that is already sorted in ascending order, find two numbers such that the ...
- [LeetCode] Two Sum IV - Input is a BST 两数之和之四 - 输入是二叉搜索树
Given a Binary Search Tree and a target number, return true if there exist two elements in the BST s ...
- [LeetCode] 1. Two Sum 两数之和
Part 1. 题目描述 (easy) Given an array of integers, return indices of the two numbers such that they add ...
- Leetcode(一)两数之和
1.两数之和 题目要求: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重 ...
- 南大算法设计与分析课程OJ答案代码(1)中位数附近2k+1个数、任意两数之和是否等于给定数
问题1 用来测试的,就不说了 问题2:中位数附近2k+1个数 给出一串整型数 a1,a2,...,an 以及一个较小的常数 k,找出这串数的中位数 m 和最接近 m 的小于等于 m 的 k 个数,以及 ...
- 两数之和,两数相加(leetcode)
我们都知道算法是程序员成长重要的一环,怎么才能提高算法呢, 出来在网上看视频之外,动手练习是非常重要的.leetcode 就是一个非常好的锻炼平台. 1. 两数之和,在 leetcode 里面是属于 ...
- leetcode刷题--两数之和(简单)
一.序言 第一次刷leetcode的题,之前从来没有刷题然后去面试的概念,直到临近秋招,或许是秋招结束的时候才有这个意识,原来面试是需要刷题的,面试问的问题都是千篇一律的,只要刷够了题就差不多了,当然 ...
随机推荐
- 初学android小笔记(一)
一:应用外观基础设置 (1)去掉标题栏:打开Android Manifest文件,将theme如下设置 (2)改应用图标:将icon指定图片改为想要的app图标即可 (3)改应用名字: 在Manife ...
- 百度地图Javascript API 调用示例
调用示例 !<!DOCTYPE html> <html> <head> <title>百度地图DEMO</title> </head& ...
- Hive基本介绍
4.1 基本介绍: Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.其优点是学 ...
- SQL 中更新一个表的数据是从另外的表(或者自己本身的表)查询出来的
模板1: update 表1 set 表1.字段1 = ( select 表1字段或者表2字段 from 表2 where 表1主键 = 表2外键 及其他条件 ) where 表1.字段 = ...
- python items和setdefault函数
items() dict = {'runoob': '菜鸟教程', 'google': 'Google 搜索'} print("Value : %s" % dict.setdefa ...
- Codeforces 1183F - Topforces Strikes Back
Div. 3的题,竟然卡了好久,自闭.jpg 好像我的思路不太一样呢QAQ 首先注意到,如果一个数是另一个的因子,那它肯定不会出现在答案中. 我们先把所有数排序,然后对每个数,我们要往前再找两个数(或 ...
- [考试反思]0919csp-s模拟测试47:苦难
ISOLATION 也不粘上面的了,先管好自己. 附了个近期总分,可以看出什么. 反思一下考试心态: 开场看题目,T1傻逼题不用脑子,T2傻逼板子,T3... 这T3是啥啊?没看懂题目啊?再看一遍.啥 ...
- python学习之【第十二篇】:Python中的迭代器
1.为何要有迭代器? 对于序列类型:字符串.列表.元组,我们可以使用索引的方式迭代取出其包含的元素.但对于字典.集合.文件等类型是没有索引的,若还想取出其内部包含的元素,则必须找出一种不依赖于索引的迭 ...
- 大数据之路week01--day02我实在时被继承super这些东西搞的头疼,今天来好好整理以下。
这一周的第一天的内容是面向对象的封装,以及对方法的调用.实在时没法单独拿出来单说,就结合这一节一起说了. 我实在是被继承中的super用法给弄的有点晕,程序总是不能按照我想的那样,不是说结果,而是实现 ...
- JavaScript with Image:创建缩略图
当图片很大,直接把图片从Server下载到浏览器上看是一种很不明智的做法,浪费了服务器的资源,网络带宽和客户端的资源.所以,通常Server和Client之间会传输缩略图,只有当Client请求某张图 ...