Contains Duplicate

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.

分析:查找数组元素是否有重复。若一个一个比较,时间复杂度达到O(n2),所以以空间换时间,用一个集合记录之前遇到过的数字,如果新的数字已经在集合中出现过了,则说明有重复。

public boolean containsDuplicate(int[] nums) {
        Set<Integer> set = new HashSet<Integer>();
        for(int i=0; i<nums.length; i++) {
            if(set.contains(nums[i])) {
                return true;
            } else {
                set.add(nums[i]);
            }
        }
        return false;   
    }

 

posted @ 2016-05-18 11:10  no_one  阅读(116)  评论(0编辑  收藏  举报