美文网首页
1. 两数之和(简单)

1. 两数之和(简单)

作者: MatrixZ | 来源:发表于2023-05-16 10:13 被阅读0次

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。

分析
这是个简单题,就不止要写对还有需要写好

  • 第一思路是讲所有元素hash后,然后再遍历找到对应的剩余值,对于剩余值和原来值相等的情况,需要单独处理, 保证这个值是有两个元素在,需要用的数据结构,字典,key是数字,value是一个列表,保存元素所在的下标
  • 优化思路是在一遍遍历的同时,就可以判断剩余值是否在已经遍历过的字典里,需要用到的数据结构,字典,key是数字,value是下标
    假设每种输入只会对应一个答案,这样找到一个即可返回
    数组中同一个元素在答案里不能重复出现,答案中是不同的元素对应的下标
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        # 两数之和,并且只存在一个有效答案,所以可以边遍历,边判断,可能都不要遍历完
        # 定义一个字典,key是元素值,value是对应的下标
        num_to_index = {}
        for index, num in enumerate(nums):
            # 判断之前是否有对应的剩余值
            if target - num in num_to_index:
                return [ num_to_index[target - num], index]
            num_to_index[num] = index
        
        return None

相关文章

  • 1.两数之和(简单)

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的...

  • 1. 两数之和 难度:简单

    题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,...

  • 浅入浅出实现一个异步求和函数

    简化:两数之和 我们先来简单的实现一个异步两数之和函数 加深:多数之和 上面我们实现了两数之和,然后扩展到多数之和...

  • 1. 两数之和

    https://leetcode-cn.com/problems/two-sum/description/给定一个...

  • 1. 两数之和

    内容 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素...

  • 1. 两数之和

    20180919-摘抄自1. 两数之和 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每...

  • 1. 两数之和

    1、暴力法,求target-num[current]是否满足 2、哈希表

  • 1. 两数之和

    代码 分析 主要是利用map集合来存储值,存储的是下一下要找的值和当前的索引,然后找到的时候就可以知道这两个索引

  • 1. 两数之和

    一、题目原型: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同...

  • 1.两数之和

    题目: 给定一个整数数列,找出其中和为特定值的那两个数。 你可以假设每个输入都只会有一种答案,同样的元素不能被重用...

网友评论

      本文标题:1. 两数之和(简单)

      本文链接:https://www.haomeiwen.com/subject/lfovsdtx.html