⬆︎
×

[LC] 0217 Contains Duplicate

Hyplus目录

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;
    }
};

发表评论