题目描述:
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
1.暴力解法
此方法的时间复杂为n^2
var twoSum = function(nums, target) {
for (let i=0;i<nums.length;i++)
{
for (let j=i+1;j<nums.length;j++)
{
if(nums[i]+nums[j]==target)
{
var b=[i,j];
return b;
}
}
}
};
2.使用indexOf()
使用此方法执行时间会变长,与上述方法的时间复杂度是一样的只不过是换了一种写法罢了,主要是为了熟悉一下indexof的用法
var twoSum = function(nums, target) {
new b[0,0]
for (let i=0;i<nums.length;i++)
{
a=nums.indexOf(target-nums[i]);
if(a>-1&&a!=i){
b=[i,a];
}
}
return b;
};