code.ashish.me

Atom feed

Recently added: 128 Longest Consecutive Sequence, 347 Top K Frequent Elements, 045 Jump Game 2, 228 Summary Ranges, 219 Contains Duplicate 2

001 Two Sum

/**
 * 
 * Ashish Patel
 * e: ashishsushilPatel@gmail.com
 * w: https://ashish.me
 *
 */

/* 
    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.

    Example:

    Given nums = [2, 7, 11, 15], target = 9,

    Because nums[0] + nums[1] = 2 + 7 = 9,
    return [0, 1]. 
*/

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    let complementDict = {}
    for (let i = 0; i < nums.length; i++) {
        const complement = target - nums[i]
        if(complementDict.hasOwnProperty(complement)){
            return [complementDict[complement], i]
        } else {
            complementDict[nums[i]] = i
        }
    }
};

console.log(twoSum([2, 7, 11, 15], 9))

Created 2020-01-17T08:48:41+00:00 · Edit