217. Contains Duplicate 「存在重复元素」

给定一个整数数组,找出重复的数字。

你的函数应当在存在重复元素时返回 true,不存在重复元素时返回 false

例一:
输入: [1,2,3,1]
输出: true

例二:
输入: [1,2,3,4]
输出: false

例三:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true

/*
 * 217. Contains Duplicate
 * https://leetcode.com/problems/contains-duplicate/
 * https://www.whosneo.com/217-contains-duplicate/
 */

import java.util.HashSet;
import java.util.Set;

public class ContainsDuplicate {
    public static void main(String[] args) {
        ContainsDuplicate solution = new ContainsDuplicate();

        int[] nums;
        nums = new int[]{1, 2, 3, 1};
        System.out.println(solution.containsDuplicate(nums));
        nums = new int[]{1, 2, 3, 4};
        System.out.println(solution.containsDuplicate(nums));
        nums = new int[]{1, 1, 1, 3, 3, 4, 3, 2, 4, 2};
        System.out.println(solution.containsDuplicate(nums));
    }

    private boolean containsDuplicate(int[] nums) {
        Set<Integer> map = new HashSet<>();

        for (int i : nums)
            if (map.contains(i))
                return true;
            else
                map.add(i);

        return false;
    }
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注