我的世界做神器指令网站,重庆网站建设模板制作,淘宝网站都是怎么做的吗,网店运营招聘要求文章目录 一、存在重复数组1,1.题目展示1.2.解题思路1.3.参考代码 二、存在重复元素||2.1.题目展示2.2.解题思路2.3.参考代码 大家学习完了数组#xff0c;指针等内容可以进行刷题了#xff0c;刷题不仅可以增加大家的代码量#xff0c;也可以积累自己的经验#xff0c;言归… 文章目录 一、存在重复数组1,1.题目展示1.2.解题思路1.3.参考代码 二、存在重复元素||2.1.题目展示2.2.解题思路2.3.参考代码  大家学习完了数组指针等内容可以进行刷题了刷题不仅可以增加大家的代码量也可以积累自己的经验言归正传下面我们讲解这两道题。 存在重复数组 存在重复数组|| 一、存在重复数组 
1,1.题目展示 1.2.解题思路 
方法颇多仅供参考 大家看到这道题可能会觉得比较简单意思就是一个数组如果有个数字出现的次数超过了2次甚至更多那便是True;如果所有的数字只出现了一次那么就是False。 那么先排序然后判断这个数字跟自己后一个数字是否一样如果是则返回True,如果遍历了一遍没有的话返回False。 
1.3.参考代码 
我使用的排序是C语言stdlib.h库中自带的qsort函数其底层逻辑是快速排序如果想了解qsort函数大家可以看指针–五或者查询官方文件cpluscplus官方文件https://legacy.cplusplus.com/reference/clibrary/ 
int cmp(int* a,const int* b)
{return *a-*b;
}bool containsDuplicate(int* nums, int numsSize) {qsort(nums,numsSize,sizeof(int),cmp);for(int i0;inumsSize-1;i){if(nums[i]nums[i1])return true;}return false;
}二、存在重复元素|| 
2.1.题目展示 2.2.解题思路 
这个题看完也会觉得思路不难只是比上一道题难点。 满足要求两个值一样并且这个数所在的数组下标的差值需要小于K(指定的值)。 那么首先还是老套路进行排序然后在这个题中数组的下标和值使用结构体进行分开然后在列出是否满足要求满足则返回True不满足返回False。 
2.3.参考代码 
typedef struct
{int val;int index;
}Lax;
int cmp(const void*a,const void*b)
{return (*(Lax*)a).val-(*(Lax*)b).val;
}
bool containsNearbyDuplicate(int* nums, int numsSize, int k) {if(numsSize1)return false;Lax arr[numsSize];int i0;for(i0;inumsSize;i){arr[i].valnums[i];arr[i].indexi;}qsort(arr,numsSize,sizeof(Lax),cmp);for(i1;inumsSize;i){if(arr[i].valarr[i-1].val)if(abs(arr[i].index-arr[i-1].index)k)return true;}return false;
}这个代码所说运行效率不高但是代码的可读性挺高的适合初学者 完