Java
import java.util.HashSet;
import java.util.Set;
/**
* <a href="https://leetcode.com/problems/contains-duplicate/">Contains Duplicate</a>
* 数组;哈希表;排序
*/
class Solution {
public boolean containsDuplicate(int[] nums) {
Set<Integer> set = new HashSet<>();
for (int num : nums) {
if (!set.add(num)) {
return true;
}
}
return false;
}
}
C++
#include <iostream>
using namespace std;
class Solution {
public:
bool containsDuplicate(vector<int> &nums) {
int temp = 0;
int n = nums.size();
for (int gap = n / 2; gap > 0; gap /= 2) {
for (int i = gap; i < n; i++) {
temp = nums[i];
int j;
for (j = i; j >= gap && nums[j - gap] > temp; j -= gap)
nums[j] = nums[j - gap];
nums[j] = temp;
}
}
for (int i = 1; i < n; i++) {
if (nums[i - 1] == nums[i])
return true;
}
return false;
}
};