美文网首页
1. 两数之和

1. 两数之和

作者: Still_Climbing | 来源:发表于2024-03-20 07:01 被阅读0次

题目链接:国际版国内版
公司:Meta

题目描述

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

You can return the answer in any order.

Example 1:

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

Example 2:

Input: nums = [3,2,4], target = 6
Output: [1,2]

Example 3:

Input: nums = [3,3], target = 6
Output: [0,1]

思路

Two-sum 算是 LeetCode 中最出名的一道题了,作为网站中的第一题,尽管其难度为 easy,却也让很多第一次接触 LeetCode 的人败下阵来。

首先简单总结一下题意,就是给一个整数列表和一个目标整数,问该列表中哪两个数的和等于这个目标数,返回这两个数的下标作为结果。我们很容易想到暴力算法,通过嵌套循环来枚举所有可能最后得到结果。这样做的时间复杂度为 O(N^2),不算最优解。

优化的思路其实有些脑筋急转弯的意味:因为题目中明确规定了是两数之和,而我们还知道目标数 target 是多少,因此对于当前扫描到的数字 num,我们只需要在列表中找 target - num 就可以了。由于最终要返回的是数组下标,因此我们需要借助 HashMap 来存储 num 和 index 的对应关系。这样一来,我们只需要一次扫描就可以得到答案,时间复杂度优化为 O(N)。因为需要一个额外的 HashMap,因此空间复杂度为 O(N)。

代码参考

    def twoSum(self, nums: List[int], target: int) -> List[int]:
        # T: O(n), S: O(n)
        num_idx = {}
        for i, num in enumerate(nums):
            if target - num in num_idx:
                return [num_idx[target - num], i]
            num_idx[num] = i    

相关文章

  • 1. 两数之和

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

  • 1. 两数之和

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

  • 1. 两数之和

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

  • 1. 两数之和

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

  • 1. 两数之和

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

  • 1. 两数之和

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

  • 1.两数之和

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

  • 1.两数之和

    leetcode算法学习,打算每日1篇 自己写的代码太low就不上了,主要是对最优代码的注释和自己的小小理解 题目...

  • 1. 两数之和

    LeetCode 的算法题 PHP解法记录 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假...

  • 1. 两数之和

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

网友评论

      本文标题:1. 两数之和

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