Skip to content

LeetCood 算法题练习(一) #2

Description

@yangfan0095

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

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]


/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
let twoSum = function(nums, target) {
    let res = [];
    for (let i = 0; i < nums.length; i++) {
        let curTemp = isTarget(i, nums, target);
        if (curTemp > -1) {
            res.push(i);
            res.push(curTemp);
            break;
        }
    };
    return res;
};

let isTarget = (index, arr, target) => {
    let flag = -1;
    for (let i = index + 1; i < arr.length; i++) {
        if (arr[i] + arr[index] === target) {
            flag = i;
            break;
        }
    }
    return flag;
}
let nums = [2, 7, 11, 15],
    target = 9;
let result = twoSum(nums, target);
console.log(result);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions