weixin_42737103 2018-07-20 02:33 采纳率: 80%
浏览 1233
已采纳

leetcode219存在重复元素C语言问题

代码如下:
bool containsNearbyDuplicate(int* nums, int numsSize, int k) {
int i,j;
for(i=0;i<numsSize;i++)
{
for(j=0;j<numsSize;j++)
{
if(nums[i]==nums[j]&&abs(j-i)<=k)
{return true;}

    }
}
return false;

}
为什么最后提交的时候不能通过[1,2,3,1,2,3] k=2的测试呢?输出为什么是true?c语言小白,求教各位大神!

  • 写回答

2条回答

  • threenewbee 2018-07-20 02:37
    关注

    因为i可能和j相等,那么显然满足if(nums[i]==nums[j]&&abs(j-i)<=k)
    你可以
    if(nums[i]==nums[j]&&abs(j-i)<=k&&i!=j)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器