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

查找数组重复数的C++代码在测试用例报错,请求分析逻辑问题

你的代码逻辑错误解析

这段代码的问题在于只检查了连续相邻的元素对,没有遍历所有可能的元素组合,导致非相邻的重复项无法被检测到。

拿测试用例[3,1,3,4,2]来说,代码的执行流程是这样的:

  • 第一次循环:pin=0,i=1,对比nums[0](3)和nums[1](1),不相等,pin自增为1
  • 第二次循环:pin=1,i=2,对比nums[1](1)和nums[2](3),不相等,pin自增为2
  • 第三次循环:pin=2,i=3,对比nums[2](3)和nums[3](4),不相等,pin自增为3
  • 第四次循环:pin=3,i=4,对比nums[3](4)和nums[4](2),不相等,pin自增为4,循环结束

整个过程里,代码从来没对比过nums[0]和nums[2]这两个值都是3的元素,自然找不到重复项,最后返回了错误的-1。

本质上,你的代码逻辑是错误的——它没有实现“检查数组中所有元素对是否重复”的逻辑,而是只做了一轮相邻元素的单次比对,完全不符合题目中重复数可能出现在任意位置的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:30:24