Skip to content

Commit 48e1bb3

Browse files
committed
removeDuplicates
1 parent 50abf7a commit 48e1bb3

1 file changed

Lines changed: 4 additions & 24 deletions

File tree

Sprint-1/JavaScript/removeDuplicates/removeDuplicates.mjs

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,8 @@
99
* @returns {Array} New sequence with duplicates removed
1010
*/
1111
export function removeDuplicates(inputSequence) {
12-
const uniqueItems = [];
13-
14-
for (
15-
let currentIndex = 0;
16-
currentIndex < inputSequence.length;
17-
currentIndex++
18-
) {
19-
let isDuplicate = false;
20-
for (
21-
let compareIndex = 0;
22-
compareIndex < uniqueItems.length;
23-
compareIndex++
24-
) {
25-
if (inputSequence[currentIndex] === uniqueItems[compareIndex]) {
26-
isDuplicate = true;
27-
break;
28-
}
29-
}
30-
if (!isDuplicate) {
31-
uniqueItems.push(inputSequence[currentIndex]);
32-
}
33-
}
34-
35-
return uniqueItems;
12+
return [...new Set(inputSequence)];
3613
}
14+
15+
// The previous code had a time complexity of O(n2) because it had 2 loops to check for duplicates.
16+
// Set has time complexity of O(n) as it just deletes duplicates when needed and the time complexity depends on the input size.

0 commit comments

Comments
 (0)