两数之和:简单难度
首先就是都能想到的循环遍历,不用动脑子的,唯一要注意的就是二次循环的时候开始取值。题目限定数组中同一个元素不能出现两次,所以二次循环的开始取值要从i+1开始
function twoSum(nums: number[], target: number): number[] {
for(let i = 0; i < nums.lengths; i++){
for(let j:number = i + 1; j < nums.length; j++){
if(nums[i] + nums[j] === target){
return [i, j]
}
}
}
}
第二种:循环一次
function twoSum(nums: number[], target: number): number[]{
for(let i = 0; i < nums.length; i++){
let poor = target - nums[i]
if(nums.indexOf(poor) !== -1 && nums.indexOf(poor) !== i){
return [i , nums.indexOf(poor)]
}
}
}