代码如下: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语言小白,求教各位大神!
1 回答
富国沪深
TA贡献1790条经验 获得超9个赞
因为i可能和j相等,那么显然满足if(nums[i]==nums[j]&&abs(j-i)<=k)
你可以
if(nums[i]==nums[j]&&abs(j-i)<=k&&i!=j)
- 1 回答
- 0 关注
- 1034 浏览
添加回答
举报
0/150
提交
取消