两数之和

  • 描述:

    给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的两个整数,并返回他们的索引值。

    你可以假设每种输只会对应一种答案。但是,你不能重复利用这个数组中的同样的元素。

  • 示例:

input: nums=[2,7,11,15],target = 9
output: [0,1]
1
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

注:当输入格式为 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

注:当输入格式为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

注: 上述方法将索引值相同的情况排除。

上次更新: 9/25/2019, 9:54:29 AM