题目
找出有序数组(从小到大排列)中和为sum的两个数,要求复杂度为O(n),找到一组即可。
解析
这个题目主要是要抓住有序这个条件去是的时间复杂度尽量的低
let findSum = function(numbers, target) {
let l = 0
let r = numbers.length - 1;
while(l < r) {
if (numbers[l] + numbers[r] === target) {
let res = [numbers[l], numbers[r]];
return res;
} else if (numbers[l] + numbers[r] < target) {
l ++;
} else {
r --;
}
}
};