Skip to content

Latest commit

 

History

History
79 lines (61 loc) · 1.32 KB

217.存在重复元素.md

File metadata and controls

79 lines (61 loc) · 1.32 KB

217. 存在重复元素

url

题目

给定一个整数数组,判断是否存在重复元素。

如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false

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

方法

哈希

code

js

let containsDuplicate = nums => {
    let m = {};
    for (let i = 0; i < nums.length; i++) {
        if (m[nums[i]] !== undefined) {
            return true;
        } else {
            m[nums[i]] = 1;
        }
    }
    return false;
};
console.log(containsDuplicate([1, 2, 3, 1]));
console.log(containsDuplicate([1, 2, 3, 4]));
console.log(containsDuplicate([1,1,1,3,3,4,3,2,4,2]));

go

func containsDuplicate(nums []int) bool {
	m := make(map[int]int, len(nums))
	for _, num := range nums {
		if _, ok := m[num]; ok {
			return true
		} else {
			m[num] = 1
		}
	}
	return false
}

java

class Solution {
    public boolean containsDuplicate(int[] nums) {
        HashSet<Integer> set = new HashSet<>();
        for (int num : nums) {
            if (!set.add(num)) {
                return true;
            }
        }
        return false;
    }
}