给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
示例 1:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
示例2:
输入: nums = [3,3], target = 6
输出: [0,1]
示例3:
输入: nums = [2, 7, 11, 3, 15, 6], target = 9
输出:[0,1,3,5]
解法1:
var twoSum = function(nums, target) {
let arr=[],j=1;
console.log(j);
for(let i=0;i<nums.length;i++){
console.log(i);
while(j<nums.length){
console.log(i,j);
if(nums[i]+nums[j]==target){
arr.push(i)
arr.push(j)
}
j++
}
if(j==nums.length){
j=1
}
}
return [...new Set(arr)]
};
解法2:
var twoSum = function(nums, target) {
let arr=[];
for(let i in nums){
for(let j=1;j<nums.length;j++){
if(nums[i]+nums[j]==target){
arr.push(Number(i))
arr.push(j)
}
}
}
return [...new Set(arr)]
}
解法3:
var twoSum = function (nums, target) {
let arr = [];
nums.findIndex((item, index) => {
for (let j = 1; j < nums.length; j++) {
if (nums[index] + nums[j] == target) {
arr.push(Number(index))
arr.push(j)
}
}
})
return [...new Set(arr)]
}
求更高逼格的解法