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

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 Ios抖音直播的时候如何添加自定义图片在直播间!
  • ¥15 ssh登录页面的问题
  • ¥60 渗透一个指定银行app,拿到客户信息,需要什么级别
  • ¥50 关于在matlab上对曲柄摇杆机构上一点的运动学仿真
  • ¥15 jetson nano
  • ¥15 :app:debugCompileClasspath'.
  • ¥15 windows c++内嵌qt出现数据转换问题。
  • ¥15 stm32 串口通讯过程中的问题
  • ¥20 公众号如何实现点击超链接后自动发送文字
  • ¥15 用php隐藏类名和增加类名