双越老师好,我测试这个数组的时候出现了问题
来源:2-20 找出一个数组中和为 n 的两个数-双指针的代码演示

菜卷_
2022-04-17
老师好,我测试[1, 5, 3, 9, 10, 12]这个数组的时候,查找和为12的两个数,预期findTwoNumbers1(arr,12)会返回[3,9], 但结果返回的是空数组。
麻烦老师帮我看看哪里出现问题了~
const findTwoNumbers1 = (arr: number[], n: number): number[] => {
const res: number[] = [];
if (arr.length === 0) return res;
let i = 0;
let j = arr.length - 1;
while (i < j) {
let sum = arr[i] + arr[j];
console.log("sum: ", sum);
if (sum > n) {
j--;
} else if (sum < n) {
i++;
} else {
res.push(arr[i]);
res.push(arr[j]);
break;
}
}
return res;
};
const arr = [1, 5, 3, 9, 10, 12];
const res = findTwoNumbers1(arr, 12);
console.log(res);
写回答
1回答
-
双越
2022-04-18
你的数组不是递增的
012022-04-18
相似问题