解题方案:利用双指针,
var pairSums = function(nums, target) {
if(nums.length<2){ // 清除特殊情况,null 空数组等
return [];
}
nums.sort(function(a,b){ // 对数组进行排序
return a-b;
})
var left=0,right=nums.length-1;
var newArr=[];
while(right>left){ // 双指针
var total = nums[left]+nums[right];
if(total>target){
right--;
}else if(total<target){
left++;
}else{
newArr.push([nums[left],nums[right]]);
left++;
right--;
}
}
return newArr;
};