You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查找数组中首个不重复元素:新手求助代码问题排查

首个不重复元素问题的常见错误修正

新手常犯的错误点

  • 错误1:没统计元素全局出现次数
    直接遍历原数组就往新数组塞元素,只看当前元素和相邻项是否重复,或者只检查新数组里有没有该元素,这样会把原数组中多次出现但非连续的元素误当成不重复元素。比如数组[2,5,2],这种逻辑会把第一个2加入新数组,但实际上它是重复的。

  • 错误2:判断重复的逻辑片面
    只对比当前元素的前一个或后一个元素,忽略了数组其他位置的重复情况,导致误判。

正确实现步骤(以JavaScript为例)

  1. 先统计每个元素在原数组中的出现次数:
const originalArr = [2, 2, 5, 3, 3];
const countObj = {};
// 遍历数组统计次数
for (let num of originalArr) {
  countObj[num] = (countObj[num] || 0) + 1;
}
  1. 再遍历原数组,筛选出仅出现一次的元素:
const uniqueElements = [];
for (let num of originalArr) {
  if (countObj[num] === 1) {
    uniqueElements.push(num);
  }
}
  1. 首个不重复元素就是uniqueElements[0],这里结果为5。

额外提醒

别用array.includes()在遍历过程中判断是否加入新数组,这种方式只能保证新数组无重复,但无法过滤原数组中多次出现的元素,会导致结果错误。

内容的提问来源于stack exchange,提问作者CoderBoy_007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 22:44:53