1. 程式人生 > >leetcode-兩數之和-js實現

leetcode-兩數之和-js實現

給定一個整數陣列 nums 和一個目標值 target,請你在該陣列中找出和為目標值的 兩個 整數。

你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個陣列中同樣的元素。

示例:

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    let
a = 0, b = nums.length-1 let tp = nums.slice() nums.sort((a, b) => a-b) while (true) { if (nums[a] + nums[b] > target) { b-- continue } if (nums[a] + nums[b] < target) { a++ continue } if (nums[
a] + nums[b] == target) { let pa = tp.indexOf(nums[a]) tp.splice(pa, 1, Math.random()) return [pa, tp.indexOf(nums[b])] } if (a == b) { break } } return [] };