bool containsDuplicate(vector<int>& nums) {
int n = nums.size();
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (nums[i] == nums[j]) return true;
}
}
return false;
}
public boolean containsDuplicate(int[] nums) {
int n = nums.length;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (nums[i] == nums[j]) return true;
}
}
return false;
}
def contains_duplicate(nums: list[int]) -> bool:
n = len(nums)
for i in range(n):
for j in range(i + 1, n):
if nums[i] == nums[j]: return True
return False
function containsDuplicate(nums: number[]): boolean {
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
if (nums[i] === nums[j]) return true;
}
}
return false;
}
bool containsDuplicate(vector<int>& nums) {
vector<int> sorted(nums); sort(sorted.begin(), sorted.end());
for (size_t i = 1; i < sorted.size(); i++) {
if (sorted[i] == sorted[i - 1]) return true;
}
return false;
}
public boolean containsDuplicate(int[] nums) {
int[] sorted = nums.clone(); Arrays.sort(sorted);
for (int i = 1; i < sorted.length; i++) {
if (sorted[i] == sorted[i - 1]) return true;
}
return false;
}
def contains_duplicate(nums: list[int]) -> bool:
ordered = sorted(nums)
for i in range(1, len(ordered)):
if ordered[i] == ordered[i - 1]: return True
return False
function containsDuplicate(nums: number[]): boolean {
const sorted = [...nums].sort((a, b) => a - b);
for (let i = 1; i < sorted.length; i++) {
if (sorted[i] === sorted[i - 1]) return true;
}
return false;
}
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> seen;
for (int x : nums) {
if (seen.count(x)) return true;
seen.insert(x);
}
return false;
}
public boolean containsDuplicate(int[] nums) {
Set<Integer> seen = new HashSet<>();
for (int x : nums) {
if (seen.contains(x)) return true;
seen.add(x);
}
return false;
}
def contains_duplicate(nums: list[int]) -> bool:
seen: set[int] = set()
for x in nums:
if x in seen: return True
seen.add(x)
return False
function containsDuplicate(nums: number[]): boolean {
const seen = new Set<number>();
for (const x of nums) {
if (seen.has(x)) return true;
seen.add(x);
}
return false;
}
bool containsDuplicate(vector<int>& nums) {
int n = nums.size();
if (n < 2) return false;
int lo = nums[0], hi = nums[0];
for (int i = 1; i < n; i++) {
if (nums[i] < lo) lo = nums[i];
else if (nums[i] > hi) hi = nums[i];
}
long long range = (long long)hi - lo + 1;
if (range < n) return true;
if (range <= (1 << 20)) {
vector<char> bits(range, 0);
for (int i = 0; i < n; i++) {
long long k = (long long)nums[i] - lo;
if (bits[k] == 1) return true;
bits[k] = 1;
}
return false;
}
unordered_set<int> seen;
for (int x : nums) {
if (seen.count(x)) return true;
seen.insert(x);
}
return false;
}
public boolean containsDuplicate(int[] nums) {
int n = nums.length;
if (n < 2) return false;
int lo = nums[0], hi = nums[0];
for (int i = 1; i < n; i++) {
if (nums[i] < lo) lo = nums[i];
else if (nums[i] > hi) hi = nums[i];
}
long range = (long) hi - lo + 1;
if (range < n) return true;
if (range <= (1 << 20)) {
boolean[] bits = new boolean[(int) range];
for (int i = 0; i < n; i++) {
int k = nums[i] - lo;
if (bits[k]) return true;
bits[k] = true;
}
return false;
}
Set<Integer> seen = new HashSet<>();
for (int x : nums) {
if (seen.contains(x)) return true;
seen.add(x);
}
return false;
}
def contains_duplicate(nums: list[int]) -> bool:
n = len(nums)
if n < 2: return False
lo = hi = nums[0]
for i in range(1, n):
if nums[i] < lo: lo = nums[i]
elif nums[i] > hi: hi = nums[i]
span = hi - lo + 1
if span < n: return True
if span <= 1 << 20:
bits = bytearray(span)
for i in range(n):
k = nums[i] - lo
if bits[k] == 1: return True
bits[k] = 1
return False
seen: set[int] = set()
for x in nums:
if x in seen: return True
seen.add(x)
return False
function containsDuplicate(nums: number[]): boolean {
const n = nums.length;
if (n < 2) return false;
let lo = nums[0], hi = nums[0];
for (let i = 1; i < n; i++) {
if (nums[i] < lo) lo = nums[i];
else if (nums[i] > hi) hi = nums[i];
}
const range = hi - lo + 1;
if (range < n) return true;
if (range <= 1 << 20) {
const bits = new Uint8Array(range);
for (let i = 0; i < n; i++) {
const k = nums[i] - lo;
if (bits[k] === 1) return true;
bits[k] = 1;
}
return false;
}
const seen = new Set<number>();
for (const x of nums) {
if (seen.has(x)) return true;
seen.add(x);
}
return false;
}