package com.leetcode.hashtables; import java.util.Arrays; import java.util.HashSet; import java.util.Set; /** * Level: Easy * Problem Link: https://leetcode.com/problems/contains-duplicate/ * * @author rampatra * @since 2019-04-24 */ public class ContainsDuplicates { public static boolean containsDuplicates(int[] nums) { Set numSet = new HashSet<>(); for (int num : nums) { if (!numSet.add(num)) { return true; } } return false; } /** * Runtime: 5 ms. * * @param nums * @return */ public static boolean containsDuplicatesWithoutSet(int[] nums) { Arrays.sort(nums); for (int i = 0; i < nums.length - 1; i++) { if (nums[i] == nums[i + 1]) { return true; } } return false; } public static void main(String[] args) { System.out.println(containsDuplicates(new int[]{1, 2, 3, 1})); System.out.println(containsDuplicates(new int[]{1, 2, 3, 4})); System.out.println(containsDuplicatesWithoutSet(new int[]{1, 2, 3, 1})); System.out.println(containsDuplicatesWithoutSet(new int[]{1, 2, 3, 4})); } }