algorithm notes: leetcode#217 contains duplicate

Problem


Solution


Analysis

Python implementation

1
2
3
4
5
6
7
8
9
10
11
12
class :
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
nums_set = set()
for num in nums:
if num in nums_set:
return True
nums_set.add(num)
return False
1
2
3
4
5
6
7
class (object):
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
return len(nums) > len(set(nums))

Java implementation

1
2
3
4
5
6
7
8
9
10
11
12
class {
public boolean containsDuplicate(int[] nums) {
Set<Integer> numsSet = new HashSet<>();
for(int num : nums){
if(numsSet.contains(num)){
return true;
}
numsSet.add(num);
}
return false;
}
}

Time complexity

O(n).

Space complexity

O(n).


217. Contains Duplicate
(中文版) 算法笔记: 力扣#217 存在重复元素