E 1522012573 tags: Array, Hash Table 无序数组, 找是否有重复element, return true/false. #### HashSet - No brain: HashSet. - Time O(n), Space O(n) #### Sort, Binary Search - Arrays.sort(x): Time O(nLogN), Space O(1) - 排序后, 重复数会排在一起, 然后 binary search ``` /* 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. */ /* Use a hashSet. Cost: extra space. */ class Solution { public boolean containsDuplicate(int[] nums) { if (nums == null || nums.length == 0) { return false; } final HashSet set = new HashSet<>(); for (int num : nums) { if (set.contains(num)) { return true; } set.add(num); } return false; } } /* Sorry array, nLog(n) */ class Solution { public boolean containsDuplicate(int[] nums) { if (nums == null || nums.length == 0) { return false; } Arrays.sort(nums); for (int i = 0; i < nums.length - 1; i++) { if (nums[i] == nums[i + 1]) { return true; } } return false; } } ```