两数之和

作者: Mark_大东 | 来源:发表于2020-06-09 09:15 被阅读0次

两数之和

难度:简单

第一种方法

这个方法是最容易想到的,在不考虑时间复杂度的情况下,双重循环遍历,时间复杂度为O(n^2)。

var twoSum = function(nums, target) {
    for (let i = 0 ; i < nums.length ; i ++){
        let next = target - nums[i]
        for (let j = i + 1 ; j < nums.length ; j ++){
            if (nums[j] == next){
                return [i,j]
            }
        }
    } 
};

第二种方法:

利用map存储键值,达到时间换空间的目的

var twoSum = function(nums, target) {
    let map = new Map()
    for (let i = 0 ; i < nums.length ; i ++){
        let next = target - nums[i]
        if (map.has(next)){
            return [map.get(next),i]
        }
        map.set(nums[i],i) 
    } 
};

第三种方法:

使用对象的存储键值

//使用while遍历
var twoSum = function(nums, target) {
    let map = {}
    let length = 0
    while(length < nums.length){
        let next = target - nums[length]
        if (map[next] != undefined){
            return [map[next],length]
        }
        map[nums[length]] = length
        length ++
    }
};

//使用for遍历
var twoSum = function(nums, target) {
    let map = {}
    for (let i = 0 ; i < nums.length ; i ++){
        let next = target - nums[i]
        if (map[next] != undefined){
            return [map[next],i]
        }
        map[nums[i]] = i
    }
};

相关文章

  • 两数之和(golang)

    原题:两数之和 关联:两数之和 II - 输入有序数组(golang)两数之和 IV - 输入 BST(golang)

  • 两数之和 II - 输入有序数组(golang)

    原题:两数之和 II - 输入有序数组 关联:两数之和(golang)两数之和 IV - 输入 BST(golan...

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

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

  • 两数之和,三数之和

    转载:https://www.cnblogs.com/DarrenChan/p/8871495.html 1. 两...

  • 两数之和&三数之和&四数之和&K数之和

    今天看了一道谷歌K数之和的算法题,忽然想起来之前在力扣上做过2、3、4数之和的题,觉得很有必要来整理一下。其实2、...

  • algrithrom

    求和问题,双指针解决 done 两数之和 三数之和 最接近三数之和 四数之和 链表反转问题 done 链表反转 链...

  • 「算法」两数之和 & 两数之和 II

    00001 两数之和 题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只...

  • 两数之和

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

  • 两数之和

    两数之和 题目描述 Given an array of integers, return indices of t...

  • 两数之和

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

网友评论

    本文标题:两数之和

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