两数之和
描述:
给定一个整数数组
nums
和一个目标值target
,请你在该数组中找出和为目标值的两个整数,并返回他们的索引值。你可以假设每种输只会对应一种答案。但是,你不能重复利用这个数组中的同样的元素。
示例:
input: nums=[2,7,11,15],target = 9
output: [0,1]
1
2
2
- 实现:
function findIndex(arr, target) {
for(let i=0,len=arr.length;i<len;i++){
for(let j=i,len=arr.length;j<len;j++){
if(nums[i] + nums[j] === target){
return [i,j]
}
}
}
return false
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
注:当输入格式为 input: nums=[2,3,7,11],target=9
时,则无法找到,因为此方法仅限于两数相邻的情况。
function findIndex(arr,target) {
for(let i = 0,len = arr.length; i < len; i++){
for (let j = 0,len = arr.length; j < len; j++){
if(nums[i] + nums[j] === target){
return [i,j]
}
}
}
return false
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
注:当输入格式为input: nums=[2,7,2,11],target=4
时,则会出现索引值相同的情况。
function findIndex(arr,target) {
for(let i = 0,len = arr.length; i < len; i++){
for (let j = 0,len = arr.length; j < len; j++){
if((nums[i] + nums[j] === target) && i !== j){
return [i,j]
}
}
}
return false
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
注: 上述方法将索引值相同的情况排除。