mirror of
https://github.com/prdlk/leetcode.git
synced 2026-11-02 13:12:44 +00:00
74 lines
1.4 KiB
Plaintext
74 lines
1.4 KiB
Plaintext
---
|
|
title: '217. Contains Duplicate'
|
|
description: Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct
|
|
sidebar:
|
|
label: 'Contains Duplicate'
|
|
badge: 'Easy'
|
|
---
|
|
|
|
<Badge variant="accent">Hash Table</Badge>
|
|
|
|
### Example 1:
|
|
- Input: `nums = [1,2,3,1]`
|
|
- Output: `true`
|
|
- Explanation: The element `1` occurs at the indices `0` and `3`.
|
|
|
|
### Example 2:
|
|
- Input: `nums = [1,2,3,4]`
|
|
- Output: `false`
|
|
- Explanation: All elements are distinct.
|
|
|
|
### Example 3:
|
|
- Input: `nums = [1,1,1,3,3,4,3,2,4,2]`
|
|
- Output: `true`
|
|
|
|
### Constraints:
|
|
|
|
- `1 <= nums.length <= 10^5`
|
|
- `-10^9 <= nums[i] <= 10^9`
|
|
|
|
## Approach
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
S(["containsDuplicate(nums)"]) --> I["freq = {}"]
|
|
I --> L{"more n in nums?"}
|
|
L -- no --> E(["return false"])
|
|
L -- yes --> C["freq[n] = (freq[n] or 0) + 1"]
|
|
C --> Q{"freq[n] >= 2?"}
|
|
Q -- yes --> R(["return true"])
|
|
Q -- no --> L
|
|
```
|
|
|
|
## Solution
|
|
|
|
<CodeGroup>
|
|
|
|
```py Python
|
|
class Solution:
|
|
def containsDuplicate(self, nums: List[int]) -> bool:
|
|
```
|
|
|
|
```js JavaScript
|
|
/**
|
|
* @param {number[]} nums
|
|
* @return {boolean}
|
|
*/
|
|
var containsDuplicate = function(nums) {
|
|
const freq = {};
|
|
for (let n of nums) {
|
|
freq[n] = (freq[n] || 0) + 1;
|
|
if (freq[n] >= 2) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
```
|
|
|
|
</CodeGroup>
|
|
|
|
## Explanation
|
|
|
|
<YouTube id="3OamzN90kPg" title="Contains Duplicate - Leetcode 217 - Python" />
|