Problem no 1- 217.
Contains Duplicate
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.
Brute Force (C++):
🧠 Intuition: Compare every pair of elements to check for duplicates.
⏱ Time Complexity: O(n^2)
📦 Space Complexity: O(1)
bool containsDuplicate(vector<int>& nums) {
for (int i = 0; i < nums.size(); ++i) {
for (int j = i + 1; j < nums.size(); ++j) {
if (nums[i] == nums[j]) return true;
}
}
return false;
}
Optimal (C++):
🧠 Intuition: Use a hash set to keep track of seen elements. If any element is already in the set,
return true.
⏱ Time Complexity: O(n)
📦 Space Complexity: O(n)
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> seen;
for (int n : nums) {
if (seen.count(n)) return true;
seen.insert(n);
}
return false;
}