package com.anuragkapur.leetcode; import java.util.Arrays; import java.util.HashSet; import java.util.OptionalInt; import java.util.Set; import java.util.stream.IntStream; /** * @author anuragkapur */ public class ContainsDuplicate { public boolean containsDuplicate(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 boolean containtDuplicateAlternate(int [] nums) { Set<Integer> allNums = new HashSet<>(); OptionalInt duplicateCount = Arrays.stream(nums).filter(num -> !allNums.add(num)).findAny(); return duplicateCount.isPresent(); } public boolean containtDuplicateAlternate2(int [] nums) { IntStream distinctNumStream = Arrays.stream(nums).distinct(); int distinctCount = (int)distinctNumStream.count(); return (distinctCount != nums.length); } }