解题方案:利用双指针,
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;
};
本文介绍了一种使用双指针技术寻找数组中两数之和等于特定目标值的高效算法实现。通过先对数组排序,然后使用两个指针从两端向中间逼近的方式找到符合条件的元素对。
294

被折叠的 条评论
为什么被折叠?



