刷爆LeetCode之存在重複
阿新 • • 發佈:2018-12-11
存在重複
給定一個整數陣列,判斷是否存在重複元素。
如果任何值在陣列中出現至少兩次,函式返回 true。如果陣列中每個元素都不相同,則返回 false。
示例 1:
輸入: [1,2,3,1]輸出: true
示例 2:
輸入: [1,2,3,4]輸出: false
示例 3:
輸入: [1,1,1,3,3,4,3,2,4,2]輸出: true
解題思路:
- 思路很簡單,一個雙重迴圈判斷就搞定了
- 雙重迴圈判斷,如果有重複的就直接返回true就可以了。
- 如果迴圈結束沒有重複的部分,則返回false。
- 這個程式碼測試例子中有一個數組長度是兩萬多的例子,用Java寫會時,所以用C語言寫會好一點。
程式碼如下:
bool containsDuplicate(int* nums, int numsSize) {
int i,j;
for(i=0;i<numsSize;i++) {
for(j=i+1;j<numsSize;j++) {
if(nums[i]==nums[j]) { //判斷是否有重複的數字,如果有則返回true,後面的就不用判斷了。
return true;
}
}
}
return false; //雙重迴圈如果成功結束,則代表沒有重複的部分,返回false。
}