【发布时间】:2021-11-12 23:00:37
【问题描述】:
bool containsDuplicate(int* nums, int numsSize){
bool repeating=true;
bool nonrepeating=false;
for(int i=0;i<numsSize;i++){
for(int j=1;j<numsSize;j++){
if(nums[i]==nums[j]){
return repeating;
}else{
return nonrepeating;
}
}
}
return true;
}
给定一个整数数组 nums,如果任何值在数组中至少出现两次,则返回 true,如果每个元素都是不同的,则返回 false。这是我应该为这个问题编写一个布尔函数的问题。谁能告诉我什么我应该在此代码中进行更改以获得正确的输出吗?
【问题讨论】:
-
如果
i==j会发生什么? -
@mkrieger1 但基本逻辑似乎正确..即遍历两个循环并比较数组的两个元素?
-
这个逻辑甚至不接近正确。在第一次比较之后立即返回一个值。
-
对于一个好的问题,请同时提供输入数据、输出和预期输出。
-
请选择一个可以帮助其他人解决相同问题的标题,因为 SO 是问题和答案的存储库,而不是个人帮助台。谢谢