1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
var twoSum = function(nums, target) { for (let i=0;i<nums.length;i++){ var index = nums.indexOf(target-nums[i]) if (index>-1 && index!=i){ return [i,index] } } return [] };
var twoSum = function(nums, target) { var map={} for (let i=0;i<nums.length;i++){ if (map.hasOwnProperty(target-nums[i])){ return [map[target-nums[i]],i] } map[nums[i]]=i } return [] };
var twoSum = function(nums, target) { var l=0,r=nums.length-1, newNums=nums.concat() newNums.sort((a,b)=>a-b) while(l!=r){ var m = newNums[l] + newNums[r] - target if (m < 0){ l++ }else{ if(m==0){ return [nums.indexOf(newNums[l]),nums.lastIndexOf(newNums[r])] } r-- } } return [] } var re=twoSum([2,11,7,7],9) console.log(re)
|