资讯专栏INFORMATION COLUMN

leetcode-Easy-第1期:two sum

anonymoussf / 2692人阅读

摘要:原题描述题目意思从数组中找出返回和在数组中的位置数组中一定存在和相加等于,并且和不能相等解法因为肯定有解,且值不一样,所以数组只有两个值的时候这两个值就为解判断对象是否有一个为对象的是原来数组的值,是该值的位置其实思路就是然后返回和对应的

原题描述:
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.
题目意思
从数组中找出A+B=C,返回A和B在数组中的位置,数组中一定存在A和B相加等于C,并且A和B不能相等

Example:

Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

解法

var twoSum = function(array, target) {
    const len = array.length;
    // 因为肯定有解,且值不一样,所以数组只有两个值的时候这两个值就为解
    if (len === 2) return [0, 1]; 
    let obj = {};
    for(let i = 0; i < len; i++) {
        let value = target - array[i]; 
      //value in obj判断obj对象是否有一个key为value
        if(value in obj ) return [obj[value], i]; 
        //obj对象的key是原来数组的值,value是该值的位置
        else obj[arrays[i]] = i; 
    }
};


其实思路就是:
array = [6,9,10,12],target = 15
obj = {6:0, 9:1, 10:2, 12:3}
15 = 6 + 9 //然后返回6和9对应的值所在位置

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102473.html

相关文章

  • leetcode-Easy-2:Reverse Interger

    摘要:题目反转整数反转后的整数如果不在范围则返回简单解法耗时解法二获取余数,即从右边第一位开始的数字保留整数部分解题思路跳出循环,判断是否在最大值和最小值之间知识点复习小于的最大整数返回四舍五入返回的整数部分,包含正负号 题目 Given a 32-bit signed integer, reverse digits of an integer. 反转整数反转后的整数如果不在[−2^31, ...

    Tecode 评论0 收藏0
  • 【进阶3-5】深度解析 new 原理及模拟实现

    摘要:使用指定的参数调用构造函数,并将绑定到新创建的对象。由构造函数返回的对象就是表达式的结果。情况返回以外的基本类型实例中只能访问到构造函数中的属性,和情况完全相反,结果相当于没有返回值。 定义 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。 ——(来自于MDN) 举个栗子 function Car(color) { this.color = co...

    Baaaan 评论0 收藏0
  • 【进阶 6-1 】JavaScript 高阶函数浅析

    摘要:引言本期开始介绍中的高阶函数,在中,函数是一种特殊类型的对象,它们是。简单来说,高阶函数是一个接收函数作为参数传递或者将函数作为返回值输出的函数。我们来看看使用它们与不使用高阶函数的方案对比。引言 本期开始介绍 JavaScript 中的高阶函数,在 JavaScript 中,函数是一种特殊类型的对象,它们是 Function objects。那什么是高阶函数呢?本节将通过高阶函数的定义来展...

    yiliang 评论0 收藏0
  • LeetCode 之 JavaScript 解答二题 —— 两数相加(Add Two Number

    摘要:多位数加多位数,反转链表转化整数,如果整数相加,可能会溢出,此方法行不通。直接进行位数运算,两链表每取出一个就做运算,将结果放入到新链表中。求和运算会出现额外的进位一般进位与最高位进位两种情况。两位数取模运算。 Time:2019/4/2Title: ADD Two NumbersDifficulty: mediumAuthor:小鹿公众号:一个不甘平凡的码农。 题目二:ADD Two...

    Sunxb 评论0 收藏0
  • LeetCode 之 JavaScript 解答一题 —— 两数之和(Two Sum

    摘要:步骤遍历数组数据,将根据下标和元素值存放到散列表中。目标值减去数组元素差值并在散列表中查找。测试法三一遍哈希表算法思路遍历目标值减去数组元素的差值同时判断该值在散列表中是否存在差值,如果存在,则返回否则将数据加入到散列表中。 Time:2019/4/1Title:Two SumDifficulty: simpleAuthor:小鹿 题目一:Two Sum Given an array ...

    k00baa 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<