給定一個(gè)整數(shù)數(shù)組佩脊,判斷是否存在重復(fù)元素。
如果任何值在數(shù)組中出現(xiàn)至少兩次润梯,函數(shù)返回 true。如果數(shù)組中每個(gè)元素都不相同甥厦,則返回 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
思路1
最簡單的直接的方法,就是遍歷每個(gè)數(shù)的值刀疙,外層的循環(huán)代表用第一個(gè)數(shù)去比較剩下的數(shù)舶赔,內(nèi)層循環(huán)就是對(duì)剩下的數(shù)進(jìn)行一個(gè)個(gè)比較
代碼
bool containsDuplicate(int* nums, int numsSize) {
for(int i=0;i<numsSize-1;++i){
for(int j=i+1;j<numsSize;++j){
if(nums[i]!=nums[j]){
}else{
return true;
}
}
}
return false;
}
思路2
先對(duì)該數(shù)組進(jìn)行排序,接下去只需比較相鄰兩個(gè)數(shù)的值
class Solution {
public boolean containsDuplicate(int[] nums) {
Arrays.sort(nums);
for(int i=0;i<nums.length-1;++i){
if(nums[i]==nums[i+1]){
return true;
}
}
return false;
}
}