Detecting Duplicate Elements in an Array Using PHP
This article explains how to determine whether an integer array contains any duplicate values by iterating through the elements, using a hash map for constant‑time lookups, and provides a PHP implementation of the containsDuplicate function along with its time and space complexity analysis.
Detecting duplicate elements in an array requires traversing each element and checking whether any value appears more than once. This article describes a reliable method to identify duplicates in an integer array.
Introduction
Given an integer array nums , return true if any value appears at least twice; otherwise return false when all elements are unique.
Example:
Input: nums = [1,2,3,1]
Output: true
Input: nums = [1,2,3,4]
Output: falseExplore the Code
Below is the PHP class Solution with the method containsDuplicate($nums) that implements the detection logic:
class Solution {
/**
* @param Integer[] $nums
* @return Boolean
*/
function containsDuplicate($nums) {
$map = array();
foreach ($nums as $n => $i) {
if (array_key_exists($i, $map)) {
return true;
}
$map[$i] = $n;
}
return false;
}
}Function Execution Flow
1. Initialization: An empty associative array $map is created to store elements and their indices.
2. Duplicate Detection:
The function iterates over each element in $nums .
For each element, it checks whether the element already exists in $map .
If it exists, a duplicate is found and the function immediately returns true .
If not, the element and its index are added to $map for future checks.
3. Return Value: After scanning the entire array without finding duplicates, the function returns false , indicating no repeated elements.
Time and Space Complexity
Time complexity: O(n) , where n is the number of elements in the input array, because each element is examined once.
Space complexity: O(n) , as the associative array $map may store up to n unique elements in the worst case.
Conclusion
The optimized PHP solution uses an associative array for constant‑time lookups, enabling fast and accurate detection of duplicate elements in an array while maintaining efficient memory usage.
php中文网 Courses
php中文网's platform for the latest courses and technical articles, helping PHP learners advance quickly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.