猿问

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语言小白,求教各位大神!


慕田峪4524236
浏览 1044回答 1
1回答

富国沪深

因为i可能和j相等,那么显然满足if(nums[i]==nums[j]&&abs(j-i)<=k)你可以if(nums[i]==nums[j]&&abs(j-i)<=k&&i!=j)
随时随地看视频慕课网APP
我要回答