PHP Program to Remove Duplicates (Keep Order) with Explanation
PHP
Medium
PHP Arrays
29 views
1 min read
96 words
This problem helps you practice core PHP fundamentals in a practical way. It builds intuition around remove, duplicate, keep. Let’s break it down step by step so you can implement it confidently.
Problem Statement
Remove duplicates but keep the first time each value appears.
Input Format
First n. Next line n integers.
Output Format
One line unique values.
Constraints
n
Code Solution
This explanation is written for learning purposes and to help beginners understand the concept clearly.
<?php
$inputText=trim(stream_get_contents(STDIN));
if($inputText==='') exit;
$tokens=preg_split('/\\s+/', $inputText);
$i=0; $n=intval($tokens[$i++] ?? 0);
$seen=[]; $output=[];
for($k=0;$k<$n;$k++){
$v=$tokens[$i++] ?? '0';
if(!isset($seen[$v])){ $seen[$v]=true; $output[]=$v; }
}
echo implode(' ',$output);
?>
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Solution Guide
Problem
Remove duplicates but keep the first time each value appears.
Input / Output
Input
First n. Next line n integers.
Output
One line unique values.
Details
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Official Solution
<?php
$inputText=trim(stream_get_contents(STDIN));
if($inputText==='') exit;
$tokens=preg_split('/\\s+/', $inputText);
$i=0; $n=intval($tokens[$i++] ?? 0);
$seen=[]; $output=[];
for($k=0;$k<$n;$k++){
$v=$tokens[$i++] ?? '0';
if(!isset($seen[$v])){ $seen[$v]=true; $output[]=$v; }
}
echo implode(' ',$output);
?>
Solutions (0)
No solutions submitted yet. Be the first!