Given an array of integers, find if the array contains any duplicates.

    Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.

    Example 1:

    1. Input: [1,2,3,1]
    2. Output: true

    Example 2:

    1. Input: [1,2,3,4]
    2. Output: false

    Example 3:

    1. Input: [1,1,1,3,3,4,3,2,4,2]
    2. Output: true

    题意

    判断给定数组中是否存在重复的数。

    思路

    排序或者Hash。


    代码实现 - 排序

    1. class Solution {
    2. public boolean containsDuplicate(int[] nums) {
    3. Arrays.sort(nums);
    4. for (int i = 1; i < nums.length; i++) {
    5. if (nums[i] == nums[i - 1]) {
    6. return true;
    7. }
    8. }
    9. return false;
    10. }
    11. }

    代码实现 - Hash

    1. class Solution {
    2. public boolean containsDuplicate(int[] nums) {
    3. Set<Integer> hash = new HashSet<>();
    4. for (int num : nums) {
    5. if (!hash.add(num)) {
    6. return true;
    7. }
    8. }
    9. return false;
    10. }
    11. }