对撞指针
作者:
愿你我皆是黑马 | 来源:发表于
2021-07-26 23:54 被阅读0次
对撞指针:有两个指针,一个从开头,一个从结尾,两个指针分别++,--直到碰撞。
-
eedcode 167:给定一个从小到大有序的数组,从数组里找到两个数字可以等于target,并返回索引
解:两个指针,分别从两边去找,相加>target,右边指针--前移,如果<target,左边指针++前移,一直到这两个指针碰撞,如果找到结果可以返回相应的索引。
var twoSum = function(nums, target) {
var left = 0;
var right = nums.length - 1 ;
// 对撞的循环条件:左边指针小于右边指针
while(left < right ) {
if(nums[left] + nums[right] === target) {
return [left, right]
} else if(nums[left] + nums[right] > target ) {
right--;
} else {
left++;
}
}
};
本文标题:对撞指针
本文链接:https://www.haomeiwen.com/subject/jlrnmltx.html
网友评论