給你一個整數(shù)數(shù)組 nums 。如果任一值在數(shù)組中出現(xiàn) 至少兩次 ,返回 true ;如果數(shù)組中每個元素互不相同,返回 false
示例 1:
輸入:nums = [1,2,3,1]
輸出:true
示例 2:
輸入:nums = [1,2,3,4]
輸出:false
示例 3:
輸入:nums = [1,1,1,3,3,4,3,2,4,2]
輸出:true
方法:排序
在對數(shù)字從小到大排序之后,數(shù)組的重復元素一定出現(xiàn)在相鄰位置中。因此,我們可以掃描已排序的數(shù)組,每次判斷相鄰的兩個元素是否相等,如果相等則說明存在重復的元素文章來源:http://www.zghlxwxcb.cn/news/detail-724670.html
int cmp(const void* _a, const void* _b) {
int a = *(int*)_a, b = *(int*)_b;
return a - b;
}
bool containsDuplicate(int* nums, int numsSize) {
qsort(nums, numsSize, sizeof(int), cmp);
for (int i = 0; i < numsSize - 1; i++) {
if (nums[i] == nums[i + 1]) {
return true;
}
}
return false;
}
qsort排序即可解決
compare函數(shù)比較返回數(shù)值
qsort函數(shù)參考鏈接文章來源地址http://www.zghlxwxcb.cn/news/detail-724670.html
到了這里,關于【LeetCode刷題(數(shù)組and排序)】:存在重復元素的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!