找错误,var twoSum = function(nums, target) { let map = new Map(); nums.forEach((item,index)=>map.set(item,index)); let res = new Array(); for(let i = 0;i<nums.length;i++){ let ii = map.get(target-nums[i]); if(i && i !== ii){ res[0]=i; res[1]=ii; break; } } return res; };
时间: 2024-03-06 22:46:47 浏览: 60
代码看起来没有明显的语法错误,但是在实际测试中可能会出现问题。以下是几个需要注意的点:
1. 题目要求返回的是下标,但是代码中返回的是值,应该改为返回 i 和 ii。
2. 对于数组 [3, 3],目标值为 6 的情况,代码会返回 [1, 1] 而不是 [0, 1],因为 map.set() 方法会覆盖相同的键,所以第二个 3 的下标会覆盖第一个。解决方法是在 forEach 循环中改为使用 map.has() 方法判断是否存在相应的键,如果存在就直接返回对应的下标。
3. 对于数组 [0, 4, 3, 0],目标值为 0 的情况,代码会返回 [0, 3] 而不是 [0, 1],因为第二个 0 的下标会覆盖第一个。解决方法是在 for 循环中加上判断条件 i !== ii,避免重复使用同一个元素。
修改后的代码如下:
```
var twoSum = function(nums, target) {
let map = new Map();
let res = [];
for (let i = 0; i < nums.length; i++) {
let complement = target - nums[i];
if (map.has(complement)) {
res[0] = map.get(complement);
res[1] = i;
break;
}
map.set(nums[i], i);
}
return res;
};
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)