217. Contains Duplicate

📋 Đề Bài

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.

 

Example 1:

Input: nums = [1,2,3,1]
Output: true

Example 2:

Input: nums = [1,2,3,4]
Output: false

Example 3:

Input: nums = [1,1,1,3,3,4,3,2,4,2]
Output: true

 

Constraints:

  • 1 <= nums.length <= 105
  • -109 <= nums[i] <= 109

🧠 Thuật Toán & Kỹ Thuật

Hash Table (Bảng băm)Union Find (Tập hợp rời rạc)
⏱️ Thời gian O(n)
💾 Không gian O(n)

💻 Lời Giải

C++ 0217-contains-duplicate.cpp
class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        unordered_set<int> hashSet;
        
        for (int num : nums) {
            if (hashSet.find(num) != hashSet.end()) {
                return true;
            }
            hashSet.insert(num);
        }
        
        return false;
    }
};